0

我正在尝试将 Apache Axis 1.4 中的一些 JAR 添加到WebContent/WEB-INF/lib目录中。JAR 之一是log4j-1.2.8.jar.

只要将此 JAR 添加到 lib 目录,NSF 中的所有 XPage 就会停止工作。我只是收到错误 500 并显示以下消息:

“HTTP Web 服务器:命令未处理异常”。

以下消息将写入错误日志:

java.lang.RuntimeException: com.ibm.xsp.FacesExceptionEx: org.apache.commons.logging.LogConfigurationException: java.lang.reflect.InvocationTargetException
.    
.    
.    
.    
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:102)

链接到完整的堆栈跟踪

有没有人有任何想法?

4

1 回答 1

3

已编辑

AXIS jar 包含在 Domino 安装中,因为 Domino Web 服务使用它们。这就是为什么如果你也包括它们会发生冲突。

我建议使用比 Axis 更新的 JAX-WS。以下是如何将它用于 Web 服务客户端。无需添加任何 JAR。您还可以使用 JAX-WS wsdl2java而不是 Apache 之一。

需要在java.policy文件中授予这两个权限才能使其工作:

permission java.lang.RuntimePermission "setContextClassLoader";
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";

请注意,任何类型的服务器更新(fe fixpack install)都会将 java.policy 文件重置为默认值。

于 2013-01-30T14:40:33.867 回答