使用webapp作为依赖项时,Glassfish java.lang.NoClassDefFoundError

时间:2017-03-06 11:27:38

标签: java glassfish classpath

我正在尝试扩展webapp功能而不重新部署webapp存档。应用程序在Glassfish 3下运行。

基本上,我所做的是以下内容:

webapp.war包含一些part.jar,它是webapplication的一部分。它包含一些类SomeClass。 Webapp允许一些自定义配置,其中SomeClass的后代可以使用Class.forName动态加载。

我从ExtensionClassSomeClass)派生了ExtensionClass extends SomeClass,使用part.jar对其进行了编译,得到了一些extension.jar

我尝试将extension.jar放入domain/libdomain/lib/ext。但是在加载ExtensionClass时,app会说java.lang.NoClassDefFoundError: SomeClass(注意它说的是父类)。似乎加载库的类加载器无法找到包含在webapp中的基类。

目标:我想使用依赖项来扩展应用,但不需要重建。

问题:在这种情况下可以做些什么?

修改 如果我只是将extension.jar放入applications/mywebapp/WEB-INF/libs,它显然有效,就像我将其放入webapp.war本身一样。但它非常脏,我想解决它而不会做这种肮脏而不触及webapp.war

0 个答案:

没有答案