2017-06-09 4 views
0

Ich baue eine Google App-Engine-Website mit Server derzeit diesen Fehler, ich googelte es und fand mehrere Fixes, aber keiner von ihnen arbeitete, so denke ich, es ist ein anderes Problemjava.lang.NoClassDefFoundError Auf einer Google App-Engine & maven

ich bin auch maven verwenden und einen Rest-Server

WARNING: Error starting handlers 
java.lang.NoClassDefFoundError: org/glassfish/jersey/server/spi/Container 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:195) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at org.mortbay.util.Loader.loadClass(Loader.java:91) 
    at org.mortbay.util.Loader.loadClass(Loader.java:71) 
    at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73) 
    at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685) 
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) 
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
    at org.mortbay.jetty.Server.doStart(Server.java:224) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
    at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:268) 
    at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:284) 
    at com.google.appengine.tools.development.AutomaticInstanceHolder.startUp(AutomaticInstanceHolder.java:26) 
    at com.google.appengine.tools.development.AbstractModule.startup(AbstractModule.java:87) 
    at com.google.appengine.tools.development.Modules.startup(Modules.java:105) 
    at com.google.appengine.tools.development.DevAppServerImpl.doStart(DevAppServerImpl.java:262) 
    at com.google.appengine.tools.development.DevAppServerImpl.access$000(DevAppServerImpl.java:45) 
    at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:217) 
    at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:215) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:215) 
    at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:349) 
    at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:47) 
    at com.google.appengine.tools.development.DevAppServerMain.run(DevAppServerMain.java:222) 
    at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:213) 
Caused by: java.lang.ClassNotFoundException: org.glassfish.jersey.server.spi.Container 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:195) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    ... 43 more 

pom.xml:

<?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> 
    <packaging>war</packaging> 
    <version>0.0.1-ALPHA</version> 

    <groupId>pt.unl.fct.di.nextech.fixtr</groupId> 
    <artifactId>fixtr</artifactId> 

    <properties> 
     <app.id>fixtr-nextech</app.id> 
     <app.version>1</app.version> 
     <appengine.sdk.version>1.9.51</appengine.sdk.version> 
     <appengine.version>${appengine.sdk.version}</appengine.version> 
     <gcloud.plugin.version>2.0.9.133.v201611104</gcloud.plugin.version> 

     <jersey.version>2.25.1</jersey.version> 

     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
     <maven.compiler.source>1.7</maven.compiler.source> 
     <maven.compiler.target>1.7</maven.compiler.target> 
     <maven.compiler.showDeprecation>true</maven.compiler.showDeprecation> 
     <archiveClasses>true</archiveClasses> 
    </properties> 

    <prerequisites> 
     <maven>3.3.9</maven> 
    </prerequisites> 

    <dependencies> 
     <!-- Compile/runtime dependencies --> 
     <dependency> 
      <groupId>com.google.appengine</groupId> 
      <artifactId>appengine-api-1.0-sdk</artifactId> 
      <version>${appengine.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.google.appengine.tools</groupId> 
      <artifactId>appengine-gcs-client</artifactId> 
      <version>RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>2.5</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>jstl</groupId> 
      <artifactId>jstl</artifactId> 
      <version>1.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.glassfish.jersey.containers</groupId> 
      <artifactId>jersey-container-servlet</artifactId> 
      <version>${jersey.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.glassfish.jersey.core</groupId> 
      <artifactId>jersey-server</artifactId> 
      <version>${jersey.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.glassfish.jersey.media</groupId> 
      <artifactId>jersey-media-json-jackson</artifactId> 
      <version>${jersey.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.glassfish.jersey.media</groupId> 
      <artifactId>jersey-media-multipart</artifactId> 
      <version>${jersey.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.glassfish.jersey.media</groupId> 
      <artifactId>jersey-media-jaxb</artifactId> 
      <version>${jersey.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-core</artifactId> 
      <version>2.9.0.pr2</version> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-databind</artifactId> 
      <version>2.9.0.pr2</version> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-annotations</artifactId> 
      <version>2.9.0.pr2</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-codec</groupId> 
      <artifactId>commons-codec</artifactId> 
      <version>1.10</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.ws.rs</groupId> 
      <artifactId>javax.ws.rs-api</artifactId> 
      <version>2.0.1</version> 
     </dependency> 

     <!-- Test Dependencies --> 
     <dependency> 
      <groupId>com.google.appengine</groupId> 
      <artifactId>appengine-testing</artifactId> 
      <version>${appengine.version}</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.google.appengine</groupId> 
      <artifactId>appengine-api-stubs</artifactId> 
      <version>${appengine.version}</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <sourceDirectory>src</sourceDirectory> 

     <resources> 
      <resource> 
       <directory>src</directory> 
       <excludes> 
        <exclude>**/*.java</exclude> 
       </excludes> 
      </resource> 
     </resources> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.5.1</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>3.0.0</version> 
       <configuration> 
        <warSourceDirectory>WebContent</warSourceDirectory> 
        <outputDirectory>war</outputDirectory> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

web.xml:

Antwort

0

Ok Ich reparierte das Problem, es war wahrscheinlich ein beschädigtes Glas, ich löschte alle Gläser und lud sie mit Maven wieder herunter und es funktionierte gut.

Verwandte Themen