2016-02-03 18 views
6

Ich versuche, einen einfachen "Hallo" Web-Service zu schaffen, und ich bin immer folgende Fehlermeldung:java.lang.NoClassDefFoundError: org/Apache/ws/commons/schema/Resolver/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) 

Kann jemand helfen? Ich suchte im Internet und ich fand, dass es eine Datei httpcore-xx.jar gibt, die in Apache Tomcat Lib-Verzeichnis platziert werden muss. Ich habe das versucht, aber es hat nicht funktioniert. Ich benutze Ubuntu 14.04 LTS und Eclipse. Ich habe auch versucht, mein Projekt zu säubern und wieder aufzubauen. Es hat nicht funktioniert. Was ich vor mir habe, ist, dass die Seite im Webbrowser geladen wird, aber wenn ich auf Dienste klicke, erscheint der vorherige Fehler. Das Tutorial Ich versuche zu implementieren ist http://codeoncloud.blogspot.gr/2012/12/create-java-web-service-in-eclipse_3982.html

+1

Sie müssen hinzufügen, was JAR enthält "org.apache.ws.commons.schema.resolver.URIResolver" zu Ihrem Klassenpfad – redFIVE

+0

@redFIVE Ich tat das. Es ist in Ordnung. Aber jetzt kam ein anderes Problem: Der Hello-Dienst, der nicht gültig ist, verursachte java.lang.NoSuchMethodError: org.apache.ws.commons.schema.XmlSchemaForm.schemaValueOf (Ljava/lang/String;) Lorg/apache/ws/commons/schema/XmlSchemaForm; \t bei org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.getAttrFormDefaultSetting (DefaultSchemaGenerator.java:1611). Im Webbrowser zeigt Fehlerhafte Dienste an. –

+0

Google Ihre Stacktrace, diese sind nicht obskuren Bibliotheken Sie arbeiten mit – redFIVE

Antwort

21

Ich hatte das gleiche Problem und gelöst es erfolgreich durch Kopieren xmlschema-core-*.jar Form axis2-*/lib/-my_project_root_directory/WebContent/WEB-INF/lib/.

+1

Es funktionierte für mich danke –

+1

Ich glaube, dass diese Gläser in Tomcats Lib-Ordner als auch hinzugefügt werden müssen. – casper

+0

@liqing, Arbeitete auch für mich :) Danke –

0

IT funktionierte auch für mich. axis2-1.7 und axis2-1.6 beide funktionierten für mich, kopierten einfach den xml-core in den web/lib-ordner und build path und es funktionierte.

1

Ich versuche auch eine einfache Web-Service zu erstellen (konfiguriert: Dynamic Web Module 2.5), mit: - Tomcat 8.0 und - Axis2 1.7.4 (axis2-1.7.4-war).

Ich erhalte die folgenden Fehler:

[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) 
    (...) 

Das erste Problem war ein [Warnen]:

„[Warnen] Webanwendung org.apache.axis2.transport verwendet. http.AxisAdminServlet; bitte aktualisieren web.xml org.apache.axis2.webapp.AxisAdminServlet zu verwenden, anstatt“

Lösung: ich löste es web.xml als Re Aktualisierung gefragt.


Das zweite Problem war:

  • java.lang.NoClassDefFoundError: org/Apache/ws/commons/schema/Resolver/URIResolver
  • Verursacht durch: java.lang.ClassNotFoundException: org .apache.ws.commons.schema.resolver.URIResolver

Aus irgendeinem Grund, wenn ich ein neues dynamisches Webprojekt mit Axis2, die XmlSchema-Core-2.2.1.j konfiguriert erstellt ar (axis2/WEB-INF/lib) wurde nicht in WebContent/WEB-INF/lib importiert.

Lösung: Also musste ich es dort einfügen.


Danach wird ein anderes Problem mit jstl:

  • Dieses Problem trat auf, wenn ich als Admin auf dem WebService einzuloggen versucht

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 (...)

Lösung:

Ich habe diese Bilder heruntergeladen: - taglibs-standard-impl-1.2.5.j ar und - Taglibs-Standard-spec-1.2.5.jar

von tomcat.apache.org/download-taglibs.cgi

So hatte ich sie in der WebContent/WEB-INF/lib eingefügt auch.

das ist alles Leute. Ich hoffe es hilft.