axis2 1.6.2.war Tomcat服务器7.0部署Windows 2008 R2内部服务器错误

问题描述:

我部署axis2 1.6.2在Apache Tomcat 7.0或6.0(Windows 2008 R2服务器)的war文件,我得到axis2欢迎页面,但是当我点击任何链接如下axis2 1.6.2.war Tomcat服务器7.0部署Windows 2008 R2内部服务器错误

  • 服务
  • 验证
  • 管理

我得到的内部服务器错误在浏览器中。

下面的例外是从Tomcat日志文件夹 - localhost.2013-03-11.log文件

任何人知道这个问题

帮我解决这个问题。

Mar 11, 2013 8:44:47 PM org.apache.catalina.core.ApplicationContext log 
SEVERE: StandardWrapper.Throwable 
java.lang.ExceptionInInitializerError 
at  org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:584) 
at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:454) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5033) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5317) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977) 
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1655) 
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
at java.util.concurrent.FutureTask.run(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 

    Caused by: org.apache.commons.logging.LogConfigurationException: User-specified log class 'org.apache.commons.logging.impl.Log4JLogger' cannot be found or is not useable. 
at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:798) 
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:601) 
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:333) 
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:307) 
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645) 
at org.apache.axis2.deployment.DeploymentEngine.<clinit>(DeploymentEngine.java:76) 
... 19 more 
Mar 11, 2013 8:44:47 PM org.apache.catalina.core.StandardContext loadOnStartup 
SEVERE: Servlet /axis2 threw load() exception 
org.apache.commons.logging.LogConfigurationException: User-specified log class 'org.apache.commons.logging.impl.Log4JLogger' cannot be found or is not useable. 
at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:798) 
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:601) 
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:333) 
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:307) 
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645) 
at org.apache.axis2.deployment.DeploymentEngine.<clinit>(DeploymentEngine.java:76) 
at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:584) 
at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:454) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5033) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5317) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977) 
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1655) 
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
at java.util.concurrent.FutureTask.run(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
      Mar 11, 2013 8:45:31 PM org.apache.catalina.core.ApplicationContext log 
    SEVERE: StandardWrapper.Throwable 
    java.lang.NoClassDefFoundError: Could not initialize class  org.apache.axis2.deployment.WarBasedAxisConfigurator 
at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:584) 
at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:454) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
    Mar 11, 2013 8:45:31 PM org.apache.catalina.core.StandardWrapperValve invoke 
    SEVERE: Allocate exception for servlet AxisServlet 
java.lang.NoClassDefFoundError: Could not initialize class org.apache.axis2.deployment.WarBasedAxisConfigurator 
at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:584) 
at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:454) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 

问题不在于关于Log4j关于公用日志记录。您的应用程序尝试将公共日志记录重定向到Log4j。它将在公用日志记录的属性文件中定义。为了完成这项工作,您还必须提供公共日志记录库。

+0

我认为主要的异常是这个java.lang.ExceptionInInitializerError at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:584) at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:454) – arjun 2013-03-18 06:17:15

+0

当我在开发环境中测试这个应用程序时,它工作正常。但是当我将它部署在客户端时发生了这种异常。 – arjun 2013-03-18 06:20:58

+0

您是否检查过公用日志记录库是否位于应用程序的类路径中?它引发ExceptionInInitializerError,因为记录器通常在启动时配置。在开发和客户端检查你的servlet-container的lib。 – bhdrkn 2013-03-18 20:10:12

看起来像log4j日志库不会在构建路径中添加。在你继续之前,确保Log4j jar在你的构建路径中。

+0

log4j的罐子是Axis2中lib文件夹。有什么别的我做错了 – arjun 2013-03-12 06:50:59

+0

是否添加到构建路径? – 2013-03-12 09:26:20

+0

我直接在apache tomcat webapp中部署axis2.war文件。并且库jar文件将位于lib文件夹中。如果我是正确的Web容器将照顾库文件 – arjun 2013-03-12 12:22:46

您可以通过使用SimpleLog而不是Log4JLogger来解决问题。

在web应用/的axis2/WEB-INF /类/ commons-logging.properties注释与Log4JLogger线并取消与SimpleLog行:

org.apache.commons.logging.Log =组织.apache.commons.logging.impl.SimpleLog

(我在Linux上运行Tomcat 7.0.54,但这种解决方法也适用于其他版本可能工作。)