2016-08-28 6 views
0

Ich schreibe einfaches Java-Backend unter Verwendung von Trikot und möchte es auf einem virtuellen Server bereitstellen, auf dem Debian läuft. Ich denke, ich habe tomcat7 richtig zusammen mit tomcat7-admin installiert und auch die Benutzerrollen korrekt eingestellt (manager-gui und manager-script).Webanwendung kann nicht auf tomcat7 auf debian virtuellem Server implementiert werden

Ich kann Tomcat laufen sehen, wenn ich http://my-ip-address:8080 besuche. Ich kann auch Manager über http://my-ip-address:8080/manager/html zugreifen, so denke ich, dass der Tomcat richtig konfiguriert ist.

Das Problem ist, dass die Bereitstellung selbst nicht funktioniert, wenn ich meine Webanwendung (mit tomcat7-maven-plugin) bereitstellen möchte. hier ist Spur von Maven:

[INFO] tomcatManager status code:200, ReasonPhrase:OK 
[INFO] FAIL - Failed to deploy application at context path /parser 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 29.826s 
[INFO] Finished at: Sun Aug 28 11:50:07 CEST 2016 
[INFO] Final Memory: 40M/97M 
[INFO] ------------------------------------------------------------------------ 

Hier ist auch der Gehalt an catalina Protokoll über die Sache:

Aug 28, 2016 11:49:29 AM org.apache.catalina.util.LifecycleBase stop 
INFO: The stop() method was called on component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/parser]] after stop() had already been called. The second call will be ignored. 
Aug 28, 2016 11:49:30 AM org.apache.catalina.startup.HostConfig checkResources 
INFO: Undeploying context [/parser] 
Aug 28, 2016 11:50:06 AM org.apache.catalina.startup.HostConfig deployWAR 
INFO: Deploying web application archive /var/lib/tomcat7/webapps/parser.war 
Aug 28, 2016 11:50:07 AM org.apache.catalina.loader.WebappClassLoader validateJarFile 
INFO: validateJarFile(/var/lib/tomcat7/webapps/parser/WEB-INF/lib/tomcat-el-api-7.0.47.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/el/Expression.class 
Aug 28, 2016 11:50:07 AM org.apache.catalina.loader.WebappClassLoader validateJarFile 
INFO: validateJarFile(/var/lib/tomcat7/webapps/parser/WEB-INF/lib/tomcat-embed-core-7.0.47.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 
Aug 28, 2016 11:50:07 AM org.apache.catalina.loader.WebappClassLoader validateJarFile 
INFO: validateJarFile(/var/lib/tomcat7/webapps/parser/WEB-INF/lib/tomcat-servlet-api-7.0.47.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 
Aug 28, 2016 11:50:07 AM org.apache.catalina.startup.ContextConfig getServletContainerInitializer 
SEVERE: The ServletContentInitializer [org.apache.tomcat.websocket.server.WsSci] could not be created 
java.lang.ClassNotFoundException: org.apache.tomcat.websocket.server.WsSci 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:278) 
    at org.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1620) 
    at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1530) 
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1233) 
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:855) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:346) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5209) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:537) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1468) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 
    at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1436) 
    at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:673) 
    at org.apache.catalina.manager.ManagerServlet.doPut(ManagerServlet.java:431) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:644) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1003) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
    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) 

Aug 28, 2016 11:50:07 AM org.apache.catalina.startup.ContextConfig processServletContainerInitializers 
SEVERE: Failed to process JAR found at URL [jar:file:/var/lib/tomcat7/webapps/parser/WEB-INF/lib/tomcat-embed-core-7.0.47.jar!/] for ServletContainerInitializers for context with name [/parser] 
Aug 28, 2016 11:50:07 AM org.apache.catalina.startup.ContextConfig configureStart 
SEVERE: Marking this application unavailable due to previous error(s) 
Aug 28, 2016 11:50:07 AM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Error getConfigured 
Aug 28, 2016 11:50:07 AM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Context [/parser] startup failed due to previous errors 

Ich habe keine Ahnung, welche Fehler über Mittel, weil ich diese App bereitstellen konnte mein lokaler tomcat mit idee (nicht maven-tomcat-plugin). Ich werde versuchen, so viele Informationen wie nötig zur Verfügung zu stellen, weil ich das ziemlich schnell beheben muss.

Ich las einige Threads über ähnliche Fehler und dort war die Lösung, um den Bereich von javax.servlet-api auf provided zu setzen. In meiner pom.xml hatte ich diese Abhängigkeit nicht, da jersey-servlet bereits als bereitgestellt hat, also habe ich keine weiteren Ideen, wie man das beheben kann.

Hier ist meine eigentliche pom:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.example.tryit</groupId> 
    <artifactId>parser</artifactId> 
    <packaging>war</packaging> 
    <version>1.0</version> 
    <name>parser</name> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <kotlin.version>1.0.3</kotlin.version> 
    </properties> 

    <build> 
     <finalName>parser</finalName> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.2</version> 
       <configuration> 
        <source>7</source> 
        <target>7</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.6</version> 
       <configuration> 
        <failOnMissingWebXml>false</failOnMissingWebXml> 
        <warName>parser</warName> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.tomcat.maven</groupId> 
       <artifactId>tomcat7-maven-plugin</artifactId> 
       <version>2.2</version> 
       <configuration> 
        <path>/parser</path> 
        <username>admin</username> 
        <password>pwd</password> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.jetbrains.kotlin</groupId> 
       <artifactId>kotlin-maven-plugin</artifactId> 
       <version>${kotlin.version}</version> 
       <executions> 
        <execution> 
         <id>compile</id> 
         <phase>process-sources</phase> 
         <goals> 
          <goal>compile</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

    <dependencies> 
     <dependency> 
      <groupId>commons-codec</groupId> 
      <artifactId>commons-codec</artifactId> 
      <version>1.10</version> 
     </dependency> 
     <dependency> 
      <groupId>org.glassfish.jersey.containers</groupId> 
      <artifactId>jersey-container-servlet</artifactId> 
      <version>2.23.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.glassfish.jersey.core</groupId> 
      <artifactId>jersey-client</artifactId> 
      <version>2.23.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.glassfish.jersey.ext.rx</groupId> 
      <artifactId>jersey-rx-client-rxjava</artifactId> 
      <version>2.23.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.glassfish.jersey.media</groupId> 
      <artifactId>jersey-media-multipart</artifactId> 
      <version>2.23.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.glassfish.jersey.media</groupId> 
      <artifactId>jersey-media-json-jackson</artifactId> 
      <version>2.22.2</version> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml.jackson.module</groupId> 
      <artifactId>jackson-module-kotlin</artifactId> 
      <version>2.7.5</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.logging.log4j</groupId> 
      <artifactId>log4j-web</artifactId> 
      <version>2.5</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-email</artifactId> 
      <version>1.4</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.tomcat.maven</groupId> 
      <artifactId>tomcat7-maven-plugin</artifactId> 
      <version>2.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.jetbrains.kotlin</groupId> 
      <artifactId>kotlin-stdlib</artifactId> 
      <version>${kotlin.version}</version> 
     </dependency> 
    </dependencies> 
</project> 

Haben Sie eine Idee haben, wie kann ich dieses Problem beheben?

Vielen Dank im Voraus

Antwort

1

Sie tomcat7-maven-plugin in Plugins nicht in Abhängigkeiten sollten sehen, die usage Seite. Entfernen von Abhängigkeiten und versuchen

+0

Was für ein dummer Fehler von mir. Wahrscheinlich habe ich das in Abhängigkeiten gelassen, während ich es vor einiger Zeit versucht habe, weil ich sie in Abhängigkeiten und Plugins bekommen habe. OK, das hat mein Problem gelöst, das war nicht mal ein echtes Problem. Danke für dein gutes Auge. –

Verwandte Themen