【问题标题】:java.lang.NoClassDefFoundError with tomcat and axis2java.lang.NoClassDefFoundError 与 tomcat 和axis2
【发布时间】:2016-05-29 20:53:36
【问题描述】:

我是 tomcat/axis2 的新手。我已经单独安装并测试了tomcat并且工作正常。但是我放tomcat和axis2的时候遇到这个错误。有人可以帮我吗?

java.lang.NoClassDefFoundError: org/apache/ws/commons/schema/resolver/URIResolver 在 org.apache.axis2.deployment.ModuleDeployer.deploy(ModuleDeployer.java:128) 在 org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:144) 在 org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:585) 在 org.apache.axis2.deployment.RepositoryListener.init(RepositoryListener.java:264) 在 org.apache.axis2.deployment.RepositoryListener.init2(RepositoryListener.java:66) 在 org.apache.axis2.deployment.RepositoryListener.(RepositoryListener.java:61) 在 org.apache.axis2.deployment.DeploymentEngine.loadRepository(DeploymentEngine.java:152) 在 org.apache.axis2.deployment.WarBasedAxisConfigurator.getAxisConfiguration(WarBasedAxisConfigurator.java:233) 在 org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64) 在 org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:620) 在 org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:471) 在 org.apache.axis2.webapp.AxisAdminServlet.init(AxisAdminServlet.java:60) 在 org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1238) 在 org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1151) 在 org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:828) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 在 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) 在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) 在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) 在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源) 在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 在 java.lang.Thread.run(未知来源) 引起:java.lang.ClassNotFoundException:org.apache.ws.commons.schema.resolver.URIResolver 在 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1308) 在 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1142) ... 31 更多

2016 年 1 月 17 日下午 6:59:39 org.apache.catalina.core.StandardWrapperValve 调用 严重:为 servlet AxisServlet 分配异常 java.lang.ClassNotFoundException:org.apache.ws.commons.schema.resolver.URIResolver 在 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1308) 在 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1142) 在 org.apache.axis2.deployment.ModuleDeployer.deploy(ModuleDeployer.java:128) 在 org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:144) 在 org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:585) 在 org.apache.axis2.deployment.RepositoryListener.init(RepositoryListener.java:264) 在 org.apache.axis2.deployment.RepositoryListener.init2(RepositoryListener.java:66) 在 org.apache.axis2.deployment.RepositoryListener.(RepositoryListener.java:61) 在 org.apache.axis2.deployment.DeploymentEngine.loadRepository(DeploymentEngine.java:152) 在 org.apache.axis2.deployment.WarBasedAxisConfigurator.getAxisConfiguration(WarBasedAxisConfigurator.java:233) 在 org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64) 在 org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:620) 在 org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:471) 在 org.apache.axis2.webapp.AxisAdminServlet.init(AxisAdminServlet.java:60) 在 org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1238) 在 org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1151) 在 org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:828) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 在 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) 在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) 在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) 在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源) 在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 在 java.lang.Thread.run(Unknown Source)

【问题讨论】:

  • 请把它减少一点——去掉有效的部分,留下无效的部分。
  • Tomcat 不知道如何解析org/apache/ws/commons/schema/resolver/URIResolver 类。您需要向Tomcat 的类路径提供包含上述类的jar。通常将依赖 jar 包与应用程序一起打包。或者您可以直接将其提供给服务器。

标签: java android apache tomcat


【解决方案1】:

当 Tomcat 未在其正确位置找到文件时,java.lang.NoClassDefFoundError: 发生。要解决此问题,请确保:

  1. 你必须设置 CATALINA_HOME & JAVA_HOME 变量
  2. 在 TOMCAT_HOME/webapps/your-project-directory 中添加您的项目 html、jsp、css、图像等文件
  3. 在 TOMCAT_HOME/webapps/your-project-directory/WEB-INF/classes 中添加您的 java 类
  4. 将您的 java 库放在 TOMCAT_HOME/webapps/your-project-directory/WEB-INF/lib 中
  5. 确保在 web.xml(部署描述符)中编写了所有类

【讨论】:

  • 我切换了eclipse的版本(从mars到kepler),使用axis2的1.6版本。有效! =) 谢谢你们!
猜你喜欢
  • 1970-01-01
  • 2014-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多