在我的应用程序中,我有一个位于CLASS_PATH中的目录,我存储jar文件。我使用ATG所以必须使用我的.class在expertie文件中有一个方法来初始化组件(在这种情况下它是servlet)。所以我需要在我的CLASS_PATH目录中使用我的webapp.war。我把这个战争文件,但它不起作用。如何将编译的servlet类放到此目录中?
当然,从存档中只放入这些已编译的类并不是一个好主意。)
答案 0 :(得分:1)
我认为你要找的是custom class loader,适合处理WAR文件。这样的类加载器会解压缩或查看WAR文件,以提取类文件。
我从未听说过任何人在WAR文件中加载,但它不应该 难以实现。
答案 1 :(得分:1)
您的类加载器无法在战争中找到servlet类,因为它们位于WEB-INF / classes中。
尝试将WEB-INF /类解压缩并复制到类路径位置
答案 2 :(得分:0)
在ATG中,Classpath设置从您构建耳朵的方式开始。 ATG中的每个模块都有一个MANIFEST文件,它指定一个名为“ATG Classpath”的属性。此属性的值用于在运行时构造类路径。因此,如果将类文件的路径包含为此属性的值,则ATG会在创建ear时自动在类路径(runAssembler,更具体)中设置它。 Jboss在部署耳朵时会将其拾起。