无法在JBoss 7.1中加载JAR文件作为资源

时间:2012-10-05 07:54:47

标签: java java-ee jboss classloader jboss7.x

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

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

我试过这个:

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

和getResource()技巧,但它们都返回一个实际上不存在的位置。我使用JBoss的管理控制台来部署EAR文件,我没有将它展开到部署文件夹中 - 遗憾的是这个步骤无法更改。

2 个答案:

答案 0 :(得分:1)

解决方案可以将你的jar放在另一个jar中,然后它就是classpath中的一个文件,你可以通过getResource方法加载它。

顺便说一下,你能发布你尝试过的getResource()的全部内容吗?

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

答案 1 :(得分:0)

您应该将jar名称放在MANIFEST.MF中,例如

Class-Path:yourjar.jar        
Dependencies:com.blah.blah