java.lang.NullPointerException aus org.apache.catalina.loader.WebappClassLoaderBase.loadClass
Was bewirkt diese? Dies scheint ein sehr comon Fehler mit unzähligen Ursachen.
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
java.util.concurrent.ConcurrentHashMap.putVal(Unknown Source)
java.util.concurrent.ConcurrentHashMap.putIfAbsent(Unknown Source)
java.lang.ClassLoader.getClassLoadingLock(Unknown Source)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1149)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1116)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:510)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:1110)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1425)
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Unknown Source)
note The full stack trace of the root cause is available in the Apache Tomcat/8.5.3 logs.
Hier sind die umfasst:
import java.util.Set;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Application;
Hinzufügen web.xml
Bitte beachten: ich habe versucht, mehrere Werte für die url-Muster, und es scheint zu tun ist, ändern Sie den URI, auf dem bekomme ich die Fehlermeldung. 'Hallo' ist der name der Klasse in java-Quellcode.
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<servlet>
<servlet-name>HelloWorldTomcatService</servlet-name>
<init-param>
<param-name>com.package.from.java.file</param-name>
<param-value>Hello</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldTomcatService</servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
Aus den ersten Blick erscheint es mir wie ein Fehler in der servlet-oder webapp-Konfiguration, aber es ist schwer zu sagen ohne mehr zu wissen. Schauen Sie in
Ich glaube, Sie brauchen, zur Verfügung zu stellen: notieren Sie sich Den vollständigen stack-trace, der die Ursache ist in den Apache-Tomcat/8.5.3 Protokolle.
Ich war nicht in der Lage zu finden, eine mehr detailes stacktrace in einer der log-Dateien. Vielleicht gibt es eine Einstellung um es zu aktivieren, aber ich schaffte es zu durchschlagen, ohne es letztendlich.
catalina.out
log-Datei und poste den vollständigen stack-trace, und die web.xml
- Datei Ihrer webapp wäre auch hilfreich.Ich glaube, Sie brauchen, zur Verfügung zu stellen: notieren Sie sich Den vollständigen stack-trace, der die Ursache ist in den Apache-Tomcat/8.5.3 Protokolle.
Ich war nicht in der Lage zu finden, eine mehr detailes stacktrace in einer der log-Dateien. Vielleicht gibt es eine Einstellung um es zu aktivieren, aber ich schaffte es zu durchschlagen, ohne es letztendlich.
InformationsquelleAutor user1958756 | 2016-07-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese spezifische eine kann verursacht werden durch eine
web.xml
Eintritt erwartet eine<xxx-class>
wie<servlet-class>
,<filter-class>
oder<listener-class>
ist es aber tatsächlich nicht vorhanden oder leer.Und in der Tat, Ihre
<servlet>
- Eintrag fehlt die<servlet-class>
. So sollte sich der FQN der servlet-Klasse, die Sie registrieren möchten, unter den Namen wie angegeben<servlet-name>
wie unten.Sagte, Ihre
<init-param><param-name>
auch nicht gut Aussehen, wenn Sie tatsächlich die JAX-RS-servlet-Sie versucht, sich zu registrieren. Sind Sie sicher, dass Sie Lesen die richtigen tutorials/Ressourcen als zu lernen, JAX-RS und deren Integration in Tomcat? Ein bekannter ist durch Lars Vogel.InformationsquelleAutor BalusC