2016-02-03 3 views
6

Я пытаюсь создать простой «Hello» веб-сервис, и я получаю следующее сообщение об ошибке:java.lang.NoClassDefFoundError: орг/апач/WS/Обще/схема/распознаватель/URIResolver

type Exception report 

message Servlet.init() for servlet AxisServlet threw exception 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 

javax.servlet.ServletException: Servlet.init() for servlet AxisServlet threw exception 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
java.lang.Thread.run(Thread.java:745) 

root cause 

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.<init>(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.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
java.lang.Thread.run(Thread.java:745) 

root cause 

java.lang.ClassNotFoundException: org.apache.ws.commons.schema.resolver.URIResolver 
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1856) 
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1705) 
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.<init>(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.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
java.lang.Thread.run(Thread.java:745) 

Может ли кто-нибудь помочь? Я искал в Интернете, и я обнаружил, что есть файл httpcore-xx.jar, который должен быть помещен в каталог apache tomcat lib. Я пробовал, но это не сработало. Я использую ubuntu 14.04 LTS и eclipse. Я также попытался очистить свой проект и построить его снова. Это не сработало. Я сталкиваюсь с тем, что страница загружается в веб-браузере, но когда я нажимаю на службы, появляется предыдущая ошибка. В учебнике я пытаюсь осуществить это http://codeoncloud.blogspot.gr/2012/12/create-java-web-service-in-eclipse_3982.html

+1

Вам нужно добавить whicever jar содержит 'org.apache.ws.commons.schema.resolver.URIResolver' в ваш путь к классу – redFIVE

+0

@redFIVE Я сделал это. Все нормально. Но теперь возникла другая проблема: служба Hello, которая недопустима, вызвала java.lang.NoSuchMethodError: org.apache.ws.commons.schema.XmlSchemaForm.schemaValueOf (Ljava/lang/String;) Lorg/apache/ws/commons/схема/XmlSchemaForm; \t at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.getAttrFormDefaultSetting (DefaultSchemaGenerator.java:1611). В веб-браузере отображаются неисправные службы. –

+0

google your stacktrace, это не скрытые библиотеки, с которыми вы работаете – redFIVE

ответ

21

У меня была такая же проблема и успешно решена путем копирования xmlschema-core-*.jar формы axis2-*/lib/ в my_project_root_directory/WebContent/WEB-INF/lib/.

+1

Это помогло мне поблагодарить –

+1

Я считаю, что эти банки необходимо добавить в папку tomcats lib. – casper

+0

@liqing, Работал для меня тоже :) Спасибо –

0

IT также работал для меня. axis2-1.7 и axis2-1.6 оба работали для меня, просто скопировали xml-core в папку web/lib и создали путь, и он сработал.

1

Я также пытаюсь создать простой веб-сервис (настроен: динамический веб-модуль 2.5), используя: - Tomcat 8.0 и - Axis2 1.7.4 (axis2-1.7.4-war).

Я получаю следующие ошибки:

[WARN] Web application uses org.apache.axis2.transport.http.AxisAdminServlet; please update web.xml to use org.apache.axis2.webapp.AxisAdminServlet instead 
[INFO] Clustering has been disabled 
[WARN] Unable to instantiate deployer org.apache.axis2.deployment.ServiceDeployer; see debug logs for more details 
abr 13, 2017 9:03:35 PM org.apache.catalina.core.ApplicationContext log 
GRAVE: StandardWrapper.Throwable 
java.lang.NoClassDefFoundError: org/apache/ws/commons/schema/resolver/URIResolver 
    at org.apache.axis2.deployment.ModuleDeployer.deploy(ModuleDeployer.java:128) 
    (...) 

Caused by: java.lang.ClassNotFoundException: org.apache.ws.commons.schema.resolver.URIResolver 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332) 
    ... 24 more 

abr 13, 2017 9:03:35 PM org.apache.catalina.core.StandardContext loadOnStartup 
GRAVE: Servlet [AxisAdminServlet] in web application [/AxisTestWebServer] threw load() exception 
java.lang.ClassNotFoundException: org.apache.ws.commons.schema.resolver.URIResolver 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332) 
    (...) 

Первая проблема была [WARN]:

«[WARN] Веб-приложение использует org.apache.axis2.transport. http.AxisAdminServlet; пожалуйста, обновите web.xml использовать org.apache.axis2.webapp.AxisAdminServlet вместо»

Решение: Я решил, что обновление web.xml как ре quired.


Вторая проблема:

  • java.lang.NoClassDefFoundError: орг/апач/WS/Обще/схема/распознаватель/URIResolver
  • Вызванный: java.lang.ClassNotFoundException: орг .apache.ws.commons.schema.resolver.URIResolver

По какой-то причине, когда я создал новый веб-проект, выполненный с динамической Axis2, XMLSCHEMA-ядро-2.2.1.j ar (axis2/WEB-INF/lib) не был импортирован в WebContent/WEB-INF/lib.

Так что мне пришлось вставить его туда.


После этого, другая проблема с JSTL:

  • Эта проблема возникла, когда я пытался войти как Администратор на WebService

abr 13, 2017 9:54:30 PM org.apache.catalina.core.ApplicationDispatcher invoke GRAVE: Servlet.service() for servlet jsp threw exception org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application (...)

Решение:

Я загрузил эти банки: - taglibs-standard-impl-1.2.5.j аг и - стандартные библиотеки тегов спекуляция-1.2.5.jar

из tomcat.apache.org/download-taglibs.cgi

Так что мне пришлось вставить их в WebContent/WEB-INF/Lib слишком.

это все жители. Надеюсь, это поможет.