我正在尝试使用AXIS 1和Commons Logging追踪我在WAS 6.1中遇到的问题。我的EAR设置为父级。在耳中是commons-logging,Axis和使用Axis的客户端jar。客户端jar中的类是从WAR调用的。
WAR调用客户端,调用轴jar,需要公共日志记录。但是看起来好像EAR正在从自身加载公共记录。看起来commons-logging来自WebSphere。
然后,WAR中的另一个类直接请求公共日志记录,并且EAR似乎正在加载它。结果我收到此错误:org.apache.commons.logging.impl.LogFactoryImpl与org.apache.commons.logging.LogFactory不兼容
我能做些什么来防止这种情况发生?我读错了吗?
答案 0 :(得分:0)
由于commons-logging和Axis 1都内置在WAS 6.1中,我会尝试将它们从EAR和WAR中完全删除;然后,您可以将类加载器策略设置为默认的“PARENT_FIRST”,这肯定会更加健壮。
你仍然需要Axis和jcl来编译你的代码,所以只能从EAR中删除它们。如果您使用Maven,这意味着将其范围更改为“已提供”,Ant将为ear任务单独构建jar列表,使用Eclipse EAR项目 - 从部署程序集中删除适当的jar。
我很感激您的简短信息。