JBoss:在application.war / WEB-INF / lib中部署JAR

时间:2010-12-16 14:12:47

标签: java deployment jboss

我有一个application.war文件夹(不是文件),它包含jaxen-1.1.1.jar(在WEB-INF / lib目录下)。不幸的是,我没有加载JAR,因为我进入了应用程序日志:

Exception while dispatching incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract java.util.HashMap client.Service.doLogin(java.util.Map)' threw an unexpected exception:
java.lang.NoClassDefFoundError: org/jaxen/JaxenException

这很奇怪,因为其他JAR(即spring)似乎正确加载(用于在错误发生之前成功解析配置)。请注意,没有一个库在JBoss / lib文件夹中。

问题:为什么没有加载某些JAR?我该如何查看哪些是?

非常感谢!

2 个答案:

答案 0 :(得分:2)

jaxen jar位于JBoss lib文件夹中。至少应该是版本4.3.2。 检查文件夹:jboss-4.2.3.GA/server/default/lib(替换您正在使用的任何实例名称的默认值)。

我也遇到过jaxen jar的麻烦。解决方案是从我的WEB-INF / lib中删除它。如果你正在使用maven,你可以这样做:

<dependency>
    <groupId>jaxen</groupId>
    <artifactId>jaxen</artifactId>
    <version>1.1.1</version>
    <scope>provided</scope>
</dependency>

答案 1 :(得分:1)

JBoss已经包含了jaxen。检查server / default / lib。可能包含的jboss lib与你自己的冲突。

如果您确定将始终部署在jboss上,那么您可以将jaxen jar放在战争之外。如果你不是,你可以从你的JBoss实例中删除jaxen。