原因:java.lang.NoClassDefFoundError:org / apache / log4j / Logages in XPages

问题描述 投票:0回答:1

现在在我们的XPages项目中,我们必须使用Quartz Scheduler。我尝试导入所有必需的jar,其中包括以下内容:

  • c3p0-0.9.5.2
  • log4j-1.2.16.jar
  • quartz-2.3.0-SNAPSHOT.jar
  • quartz-jobs-2.3.0-SNAPSHOT.jar
  • slf4j-api-1.7.7.jar
  • slf4j-log4j12-1.7.7.jar

我已经将所有罐子导入到我们的项目中,但是在加载页面(甚至不调用石英或任何东西)时,出现以下异常:

Error 500
HTTP Web Server: Command Not Handled Exception

在日志中,我看到:

01.12.19 2:04: Exception Thrown
java.lang.RuntimeException: com.ibm.xsp.FacesExceptionEx: org.apache.commons.logging.LogConfigurationException: java.lang.reflect.InvocationTargetException
    at com.ibm.designer.runtime.domino.adapter.ComponentModule.initModule(ComponentModule.java:473)
    at com.ibm.domino.xsp.module.nsf.NSFComponentModule.initModule(NSFComponentModule.java:498)
    at com.ibm.domino.xsp.module.nsf.NSFService.createNSFModule(NSFService.java:752)
    at com.ibm.domino.xsp.module.nsf.NSFService.loadModule(NSFService.java:735)
    at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:588)
    at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:357)
    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:313)
    at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
Caused by: com.ibm.xsp.FacesExceptionEx: org.apache.commons.logging.LogConfigurationException: java.lang.reflect.InvocationTargetException
    at com.ibm.xsp.config.CLBootStrap.initContext(CLBootStrap.java:89)
    at com.ibm.xsp.config.BootStrap.init(BootStrap.java:82)
    at com.ibm.xsp.config.ConfigureCoreListener.contextInitialized(ConfigureCoreListener.java:39)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule.initModule(ComponentModule.java:465)
    ... 8 more
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.reflect.InvocationTargetException
    at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
    at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
    at org.apache.commons.digester.Digester.<init>(Digester.java:346)
    at com.sun.faces.config.ConfigureListener.digester(ConfigureListener.java:1005)
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:383)
    at com.ibm.xsp.config.CLBootStrap.initContext(CLBootStrap.java:81)
    ... 11 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedConstructorAccessor1791.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:57)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:437)
    at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
    ... 17 more
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
    at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:102)
    ... 21 more

我怀疑此问题与Axis 1.4 log4j-1.2.8.jar incompatible with XPages?有关

我已经尝试遵循建议并将以下内容添加到java.policy(部分授权codeBase):

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

但仍然没有运气。

怎么了?

提前感谢

java log4j xpages quartz-scheduler lotus-notes
1个回答
0
投票

我已通过添加所有日志记录库解决了该问题:

  • log4j-1.2.16.jar
  • slf4j-api-1.7.7.jar
  • slf4j-log4j12-1.7.7.jar

至lib / ext

© www.soinside.com 2019 - 2024. All rights reserved.