1
当罐子打包在EAR/lib中时,一切正常,但我不能使用这种方法,并且需要从文件系统中引用它们(也许使用绝对/相对路径) 将jar添加到系统类路径(使用conf/jboss-service.xml)不是一个选项。JBoss 5应用程序可以在EAR结构之外访问罐子
我已经定义了一个使用架仓库里面的jboss-app.xml中
应用范围的类加载是否有办法让应用程序可以从EAR结构外部访问库的作用域的类加载器?
当罐子打包在EAR/lib中时,一切正常,但我不能使用这种方法,并且需要从文件系统中引用它们(也许使用绝对/相对路径) 将jar添加到系统类路径(使用conf/jboss-service.xml)不是一个选项。JBoss 5应用程序可以在EAR结构之外访问罐子
我已经定义了一个使用架仓库里面的jboss-app.xml中
应用范围的类加载是否有办法让应用程序可以从EAR结构外部访问库的作用域的类加载器?
从技术上来说,是的,至少在JBoss 4.2中,运气好的话它也能在5中工作。
这样做的好处是当JBoss的EARDeployer
读取application.xml
文件中每个库的路径时,它会解析相对于爆炸EAR的基本目录的路径。如果将相对路径放入适当数量的../
条目中,则路径将解析到您喜欢的文件系统上的任何位置,只要它可作为相对于EAR部署位置的路径导航即可(例如,在Windows上,它必须在同一个驱动器上)。
请注意,这是而不是的标准行为,甚至不能保证在不同版本的JBoss之间工作。
谢谢,但这似乎没有工作。只要相对路径在EAR结构内就行。但当路径通向外部罐子时失败。 – Shreeni 2009-12-29 12:35:33
您可以将“application.xml”的内容添加到问题中吗? – skaffman 2009-12-29 12:40:05
<?xml version =“1.0”encoding =“UTF-8”?> <!DOCTYPE application PUBLIC“ - // Sun Microsystems,Inc. //DTD J2EE Application 1.3 // EN”“http:// java。 sun.com/dtd/application_1_3.dtd “> <应用ID =” APPLICATION_ID “> \t <显示名称> FindingNemoEar显示名称> \t <模块ID =” WebModule_1158763557391" > \t \t \t \t \t FindingNemoEarWeb.war \t \t \t <上下文根> FindingNemo上下文根> \t \t \t \t \t \t ../../abc.jar \t 应用> –
Shreeni
2009-12-30 05:37:20