2016-07-26 50 views
4

Technische Umgebung: -Fehler beim Abruf während Webservices auf tomcat7 Server läuft - Ubuntu 16.04 LTS

  • Ubuntu 16.04 LTS
  • Tomcat 7
  • Java 7
  • Eclipse-Luna

Ich habe einen Webservice in meine Eclipse importiert Luna-Arbeitsbereich und versuchte diesen Dienst auf dem Tomcat7-Server auszuführen. Aber ich bekomme den folgenden Fehler.

Jul 24, 2016 5:39:30 PM org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:service' did not find a matching property. 

Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Server version:  Apache Tomcat/7.0.68 (Ubuntu) 
Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Server built:   Jun 27 2016 18:13:17 UTC 
Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 

INFO: Server number:   7.0.68.0 
Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: OS Name:    Linux 
Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: OS Version:   4.4.0-28-generic 
Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Architecture:   amd64 
Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Java Home:    /usr/lib/jvm/java-7-oracle/jre 
Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: JVM Version:   1.7.0_80-b15 
Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: JVM Vendor:   Oracle Corporation 
Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: CATALINA_BASE:   /home/shravan/Projects/Webservices/.metadata/.plugins/org.eclipse.wst.server.core/tmp0 
Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: CATALINA_HOME:   /usr/share/tomcat7 
Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dcatalina.base=/home/shravan/Projects/Webservices/.metadata/.plugins/org.eclipse.wst.server.core/tmp0 
Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dcatalina.home=/usr/share/tomcat7 
Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dwtp.deploy=/home/shravan/Projects/Webservices/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps 
Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Djava.endorsed.dirs=/usr/share/tomcat7/endorsed 
Jul 24, 2016 5:39:30 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dfile.encoding=UTF-8 
Jul 24, 2016 5:39:31 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-bio-8080"] 
Jul 24, 2016 5:39:31 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 781 ms 
Jul 24, 2016 5:39:31 PM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
Jul 24, 2016 5:39:31 PM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.68 (Ubuntu) 
Jul 24, 2016 5:39:31 PM org.apache.catalina.startup.TldConfig execute 
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 
Jul 24, 2016 5:39:33 PM org.apache.catalina.startup.TldConfig execute 
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 
Jul 24, 2016 5:39:33 PM org.apache.catalina.core.ApplicationContext log 
INFO: No Spring WebApplicationInitializer types detected on classpath 
Jul 24, 2016 5:39:33 PM org.apache.catalina.core.ApplicationContext log 
INFO: Initializing Spring root WebApplicationContext 
Jul 24, 2016 5:39:33 PM org.springframework.web.context.ContextLoader initWebApplicationContext 
INFO: Root WebApplicationContext: initialization started 
Jul 24, 2016 5:39:33 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh 
INFO: Refreshing Root WebApplicationContext: startup date [Sun Jul 24 17:39:33 IST 2016]; root of context hierarchy 
Jul 24, 2016 5:39:34 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml] 
Jul 24, 2016 5:39:34 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/dataSource.xml] 
Jul 24, 2016 5:39:34 PM org.springframework.web.context.ContextLoader initWebApplicationContext 
SEVERE: Context initialization failed 
java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView; 
    at org.apache.catalina.core.ApplicationContext.getInitParameterNames(ApplicationContext.java:368) 
    at org.apache.catalina.core.ApplicationContextFacade.getInitParameterNames(ApplicationContextFacade.java:367) 
    at org.springframework.web.context.support.WebApplicationContextUtils.registerEnvironmentBeans(WebApplicationContextUtils.java:200) 
    at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.postProcessBeanFactory(AbstractRefreshableWebApplicationContext.java:165) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461) 
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:381) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:293) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5068) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5584) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Jul 24, 2016 5:39:34 PM org.apache.catalina.core.StandardContext listenerStart 
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener 
java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView; 
    at org.apache.catalina.core.ApplicationContext.getInitParameterNames(ApplicationContext.java:368) 
    at org.apache.catalina.core.ApplicationContextFacade.getInitParameterNames(ApplicationContextFacade.java:367) 
    at org.springframework.web.context.support.WebApplicationContextUtils.registerEnvironmentBeans(WebApplicationContextUtils.java:200) 
    at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.postProcessBeanFactory(AbstractRefreshableWebApplicationContext.java:165) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461) 
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:381) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:293) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5068) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5584) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Jul 24, 2016 5:39:34 PM org.apache.catalina.core.StandardContext startInternal 
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file 
Jul 24, 2016 5:39:34 PM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Context [/service] startup failed due to previous errors 
Jul 24, 2016 5:39:34 PM org.apache.catalina.core.ApplicationContext log 
INFO: Closing Spring root WebApplicationContext 
Jul 24, 2016 5:39:34 PM org.springframework.context.support.AbstractApplicationContext doClose 
INFO: Closing Root WebApplicationContext: startup date [Sun Jul 24 17:39:33 IST 2016]; root of context hierarchy 
Jul 24, 2016 5:39:34 PM org.springframework.context.support.AbstractApplicationContext doClose 
WARNING: Exception thrown from ApplicationListener handling ContextClosedEvent 
java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: Root WebApplicationContext: startup date [Sun Jul 24 17:39:33 IST 2016]; root of context hierarchy 
    at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:346) 
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:333) 
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:880) 
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:841) 
    at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:551) 
    at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:115) 
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5115) 
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5779) 
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:159) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Jul 24, 2016 5:39:34 PM org.springframework.context.support.AbstractApplicationContext doClose 
WARNING: Exception thrown from LifecycleProcessor on context close 
java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: Root WebApplicationContext: startup date [Sun Jul 24 17:39:33 IST 2016]; root of context hierarchy 
    at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:359) 
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:888) 
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:841) 
    at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:551) 
    at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:115) 
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5115) 
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5779) 
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:159) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Jul 24, 2016 5:39:34 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-bio-8080"] 
Jul 24, 2016 5:39:34 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 3547 ms 

Bitte zeigen Sie mir die mögliche Lösung. Ich danke dir sehr.

Antwort

4

Ich hatte das gleiche Problem in letzter Zeit.

Es scheint, dass Tomcat 7 Klassen zusammengestellt wurden Java 8 Bibliotheken in Ubuntu 16.04, so dass Sie es nicht mit Java laufen 7.

Dies ist von catalina.jar (7.0.68) aus dem Repository:

# javap -verbose org/apache/catalina/core/ApplicationContext.class 
Classfile /usr/share/tomcat7/lib/org/apache/catalina/core/ApplicationContext.class 
    Last modified 27/06/2016; size 33798 bytes 
    MD5 checksum b176f6c6f5854428fbfa67b298ed308a 
    Compiled from "ApplicationContext.java" 
public class org.apache.catalina.core.ApplicationContext implements javax.servlet.ServletContext 
    SourceFile: "ApplicationContext.java" 
    InnerClasses: 
     public statiC#479= #478 of #943; //Dynamic=class javax/servlet/FilterRegistration$Dynamic of class javax/servlet/FilterRegistration 
     public statiC#479= #511 of #945; //Dynamic=class javax/servlet/ServletRegistration$Dynamic of class javax/servlet/ServletRegistration 
     public statiC#1005= #1004 of #2; //KeySetView=class java/util/concurrent/ConcurrentHashMap$KeySetView of class java/util/concurrent/ConcurrentHashMap 
    minor version: 0 
    major version: 50 
    flags: ACC_PUBLIC, ACC_SUPER 

Und das ist aus catalina.jar (7.0.68) von Apache heruntergeladen

# javap -verbose org/apache/catalina/core/ApplicationContext.class 
Classfile /root/apache-tomcat-7.0.68/lib/org/apache/catalina/core/ApplicationContext.class 
    Last modified 08/02/2016; size 33585 bytes 
    MD5 checksum eda7f125c1ef506be98d360f6611a717 
    Compiled from "ApplicationContext.java" 
public class org.apache.catalina.core.ApplicationContext implements javax.servlet.ServletContext 
    SourceFile: "ApplicationContext.java" 
    InnerClasses: 
     public statiC#481= #480 of #946; //Dynamic=class javax/servlet/FilterRegistration$Dynamic of class javax/servlet/FilterRegistration 
     public statiC#481= #513 of #948; //Dynamic=class javax/servlet/ServletRegistration$Dynamic of class javax/servlet/ServletRegistration 
    minor version: 0 
    major version: 50 
    flags: ACC_PUBLIC, ACC_SUPER 

Beide sind in die Klasse kompiliert Format 50 (Java 6), aber die Repository-Klasse hat einen Link zu einer Java 8 exklusive Methode:

public statiC#1005= #1004 of #2; //KeySetView=class java/util/concurrent/ConcurrentHashMap$KeySetView of class java/util/concurrent/ConcurrentHashMap 

Also, wenn Sie Tomcat 7 mit Java 7 in Ubuntu ausführen möchten 16.04 Sie es herunterladen müssen, um direkt von Apache und installieren Sie es manuell.

+0

Ich habe versucht, JDK8 zu installieren, und das Problem bleibt bestehen. Versuche es mit Tomcat8/JDK8. –

+0

Ich habe Tomcat7/JDK8 nicht versucht, weiß nicht, ob es funktioniert. Aber Tomcat8/JDK8 funktioniert sicher. – Vinicius

+0

Arbeitet jetzt mit Tomcat8/JDK8 auf Ubuntu 16.04, überhaupt keine Probleme. –