java - 无法将 JAR 文件加载为 JBoss 7.1 中的资源

标签 java jakarta-ee jboss classloader jboss7.x

我需要加载一个 JAR 文件作为资源,例如 X.JAR,它位于 EAR 的 LIB 目录中,其中对加载的调用源自 jar 文件中的一个类。

我知道这是一件非常奇怪的事情,但这就是旧代码的方式。

我已经尝试过这个:

getProtectionDomain().getCodeSource().getLocation();

和 getResource() 技巧,但它们都返回一个物理上不存在的位置。我使用 JBoss 的管理控制台来部署 EAR 文件,我没有将其分解到部署文件夹中——不幸的是这一步无法更改。

最佳答案

解决方案可以将您的 jar 放入另一个 jar 中,然后它是类路径中的一个文件,您可以通过 getResource 方法加载它。

顺便说一句,您可以发布您尝试过的 getResource() 的完整行吗?

尝试使用.getClass().getClassLoader().getResourceAsStream()

关于java - 无法将 JAR 文件加载为 JBoss 7.1 中的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12741942/

相关文章:

java - 仅在时间戳未被占用时插入

java - CardLayout 无法正常工作

java - 当 log4j 中文件大小同时超过最大限制时,如何每天滚动更新我的日志文件

java - @Inject 来自 EJB 项目的 bean 给出 UnsatisfiedResolutionException

java - JAX-RS:是否可以有一个外部可配置的@PATH?

java - 读取和解析文本文件android

java - 当返回 ResponseEntity<Resource> 的方法抛出错误时如何返回 ModelandView?

security - 保护 JBoss 5.1.0.GA 中的 JMXConnectorServerService (jmx-remoting.sar) 安全

jsf - "IllegalArgumentException: Can not set [EJB interface] field [managed bean field] to com.sun.proxy.$Proxy[some number]"与 OmniFaces 的@Eager

java - JBoss 未在 Eclipse Luna (Ubuntu 14) 上运行