Java WildFly 9使用ContextClassLoader从部署的war加载jar

Java WildFly 9使用ContextClassLoader从部署的war加载jar,java,jboss,wildfly,wildfly-9,Java,Jboss,Wildfly,Wildfly 9,我已经在war上部署了WildFly-9.0.2,在java代码中,我想获得一个jar的绝对路径,该jar位于helloworld.war/WEB-INF/lib/目录下,我正在尝试以下java代码 Thread.currentThread().getContextClassLoader().getResource("WEB-INF/lib/demo.jar/") 这在JBoss 4.0.5中运行,但在WildFly 9中它给出null 如果我尝试使用以下代码 Thread.currentTh

我已经在war上部署了WildFly-9.0.2,在java代码中,我想获得一个jar的绝对路径,该jar位于
helloworld.war/WEB-INF/lib/
目录下,我正在尝试以下java代码

Thread.currentThread().getContextClassLoader().getResource("WEB-INF/lib/demo.jar/")
这在JBoss 4.0.5中运行,但在WildFly 9中它给出null

如果我尝试使用以下代码

Thread.currentThread().getContextClassLoader().getResources("")
然后我可以看到如下文件,但为此,我必须遍历所有返回集合

vfs:/C:/Users/alpesh/Desktop/content/helloworld.war/WEB-INF/lib/demo.jar/

那么,我如何像在早期JBoss上那样直接定位jar路径。

您想对资源做什么?基本上,jar拥有基于用户选择创建新数据库并在新数据库中填充预定义数据的代码,有超过1个jar用于根据用户选择创建不同的数据库,需要获取对实际jar的引用似乎有点奇怪。我不确定,但我猜
WEB-INF/lib
目录不可读。使用EJB或您可以调用的类似工具可以避免获取JAR的URL。您想对资源做什么?基本上,JAR拥有基于用户选择创建新数据库并在新数据库中填充预定义数据的代码,有超过1个jar用于根据用户选择创建不同的数据库,需要获取对实际jar的引用似乎有点奇怪。我不确定,但我猜
WEB-INF/lib
目录不可读。使用EJB或您可以调用的类似工具可以避免获取JAR的URL。