NoSuchMethodError:org.eclipse.jetty.websocket.server.WebSocketServerFactory。<init>(Ljavax / servlet / ServletContext;)V

时间:2017-04-26 16:13:08

标签: maven gwt spring-boot jetty

通过eclipse插件启动我的应用程序时遇到此异常: &#34;以&#34; &GT; &#34;带码头的GWT开发模式&#34;

环境
- GWT SDK 2.8
- spring-boot 1.5.2.RELEASE
- 码头9.4.2
- GWT Eclipse插件3.0.0

上下文:将GWT 2.6应用程序迁移到GWT 2.8并使用spring-boot
使用GWT webAppCreator生成的应用程序pom

这是堆栈跟踪

**Exception in thread "main" java.lang.NoSuchMethodError: 
org.eclipse.jetty.websocket.server.WebSocketServerFactory.<init>(Ljavax/servlet/ServletContext;)V**
at org.eclipse.jetty.websocket.server.NativeWebSocketConfiguration.<init>(NativeWebSocketConfiguration.java:53)
at org.eclipse.jetty.websocket.server.NativeWebSocketServletContainerInitializer.getDefaultFrom(NativeWebSocketServletContainerInitializer.java:36)
at org.eclipse.jetty.websocket.server.NativeWebSocketServletContainerInitializer.onStartup(NativeWebSocketServletContainerInitializer.java:46)
at org.eclipse.jetty.plus.annotation.ContainerInitializer.callStartup(ContainerInitializer.java:140)
at org.eclipse.jetty.annotations.ServletContainerInitializersStarter.doStart(ServletContainerInitializersStarter.java:63)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:329)
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1480)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1442)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:799)
at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:261)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:540)
at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:550)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
at org.eclipse.jetty.server.Server.start(Server.java:452)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
at org.eclipse.jetty.server.Server.doStart(Server.java:419)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:759)
at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:634)
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:923)
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:706)
at com.google.gwt.dev.DevMode.main(DevMode.java:430)

为什么我的应用程序无法启动?
这是我的pom和依赖树。 谢谢你的帮助

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/maven-v4_0_0.xsd">
 <!-- POM file generated with GWT webAppCreator -->
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.mycompany.fonems.webapp</groupId>
 <artifactId>Fonemswebapp</artifactId>
 <packaging>war</packaging>
 <version>1.0-SNAPSHOT</version>
 <name>com.mycompany.fonems.webapp.Fonemswebapp</name>
  <parent> <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.2.RELEASE</version>
  </parent>
 <properties>
   <!-- Setting maven.compiler.source to something different to 1.8
       needs that you configure the sourceLevel in gwt-maven-plugin since
       GWT compiler 2.8 requires 1.8 (see gwt-maven-plugin block below) -->
   <maven.compiler.source>1.8</maven.compiler.source>
   <maven.compiler.target>1.8</maven.compiler.target>
   <!-- Don't let your Mac use a crazy non-standard encoding -->
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <smartgwt.version>3.1</smartgwt.version>
 </properties>
 <dependencyManagement>
   <dependencies>
    <!-- ensure all GWT deps use the same version (unless overridden) -->
    <dependency>
      <groupId>com.google.gwt</groupId>
      <artifactId>gwt</artifactId>
      <version>2.8.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
   </dependencies>
 </dependencyManagement>
 <dependencies>
    <dependency>
        <groupId>com.mycompany.fonems</groupId>
        <artifactId>fonems-fwk-server-common</artifactId>
        <version>0.0.104-SNAPSHOT</version>
        <exclusions>
            <exclusion>
                <artifactId>xercesImpl</artifactId>
                <groupId>xerces</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.mycompany.fonems</groupId>
        <artifactId>fonems-refonte-dao</artifactId>
        <version>0.0.104-SNAPSHOT</version>
        <exclusions>
            <exclusion>
                <artifactId>javax.el-api</artifactId>
                <groupId>javax.el</groupId>
            </exclusion>
            <exclusion>
                <artifactId>xercesImpl</artifactId>
                <groupId>xerces</groupId>
            </exclusion>
        </exclusions>
    </dependency>
   <dependency>
    <groupId>com.google.gwt</groupId>
    <artifactId>gwt-servlet</artifactId>
    <scope>runtime</scope>
   </dependency>
   <dependency>
    <groupId>com.google.gwt</groupId>
    <artifactId>gwt-user</artifactId>
    <scope>provided</scope>
   </dependency>
   <dependency>
    <groupId>com.google.gwt</groupId>
    <artifactId>gwt-dev</artifactId>
    <scope>provided</scope>
    <exclusions>
        <exclusion>
            <artifactId>xercesImpl</artifactId>
            <groupId>xerces</groupId>
        </exclusion>
    </exclusions>
   </dependency>
    <dependency>
        <groupId>com.smartgwt</groupId>
        <artifactId>smartgwt</artifactId>
        <version>${smartgwt.version}</version>
    </dependency>
        <dependency>
            <groupId>com.smartgwt</groupId>
            <artifactId>smartgwt-skins</artifactId>
            <version>${smartgwt.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>mycompany.drh</groupId>
            <artifactId>newncauth</artifactId>
            <version>${mycompany.drh.version}</version>
        </dependency>
        <dependency>
            <groupId>mycompany.drh</groupId>
            <artifactId>mycompany.droits-habilitations.rmi</artifactId>
            <version>${mycompany.drh.rmi.version}</version>
        </dependency>
   <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <scope>test</scope>
   </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>compile</scope>
        </dependency>
 </dependencies>
 <build>
   <!-- Output classes directly into the webapp, so that IDEs and "mvn process-classes" update them in DevMode -->
   <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
   <plugins>
    <!-- GWT Maven Plugin-->
    <plugin>
      <groupId>net.ltgt.gwt.maven</groupId>
      <artifactId>gwt-maven-plugin</artifactId>
      <version>1.0-rc-6</version>
      <executions>
        <execution>
         <goals>
           <goal>import-sources</goal>
           <goal>compile</goal>
           <goal>import-test-sources</goal>
           <goal>test</goal>
         </goals>
        </execution>
      </executions>
      <configuration>
        <moduleName>com.mycompany.fonems.webapp.Fonemswebapp</moduleName>
        <moduleShortName>Fonemswebapp</moduleShortName>
        <failOnError>true</failOnError>
        <!-- GWT compiler 2.8 requires 1.8, hence define sourceLevel here if you use
            a different source language for java compilation -->
        <sourceLevel>1.8</sourceLevel>
        <!-- Compiler configuration -->
        <compilerArgs>
         <!-- Ask GWT to create the Story of Your Compile (SOYC) (gwt:compile) -->
         <arg>-compileReport</arg>
         <arg>-XcompilerMetrics</arg>
        </compilerArgs>
        <!-- DevMode configuration -->
        <warDir>${project.build.directory}/${project.build.finalName}</warDir>
        <classpathScope>compile+runtime</classpathScope>
        <!-- URL(s) that should be opened by DevMode (gwt:devmode). -->
        <startupUrls>
         <startupUrl>Fonemswebapp.html</startupUrl>
        </startupUrls>

<!--          <webappDirectory>${outputFolder}</webappDirectory> -->
      </configuration>

    </plugin>

    <!-- Skip normal test execution, we use gwt:test instead -->
    <plugin>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.17</version>
      <configuration>
        <skip>true</skip>
      </configuration>
    </plugin>
   </plugins>
 </build>
</project>

依赖关系树

------------------------------------------------------------------------
Building com.mycompany.fonems.webapp.Fonemswebapp 1.0-SNAPSHOT
------------------------------------------------------------------------

--- maven-dependency-plugin:2.10:tree (default-cli) @ Fonemswebapp ---
com.mycompany.fonems.webapp:Fonemswebapp:war:1.0-SNAPSHOT
+- com.mycompany.fonems:fonems-fwk-server-common:jar:0.0.104-SNAPSHOT:compile
|  +- commons-configuration:commons-configuration:jar:1.9:compile
|  |  \- commons-logging:commons-logging:jar:1.1.1:compile
|  +- commons-beanutils:commons-beanutils:jar:1.9.3:compile
|  +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:compile
|  |  \- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile
|  +- joda-time:joda-time:jar:2.9.7:compile
|  +- org.apache.commons:commons-lang3:jar:3.1:compile
|  +- commons-io:commons-io:jar:2.4:compile
|  +- commons-lang:commons-lang:jar:2.6:compile
|  +- commons-collections:commons-collections:jar:3.2.2:compile
|  +- org.springframework:spring-tx:jar:4.3.7.RELEASE:compile
|  +- org.springframework:spring-context:jar:4.3.7.RELEASE:compile
|  |  +- org.springframework:spring-aop:jar:4.3.7.RELEASE:compile
|  |  \- org.springframework:spring-expression:jar:4.3.7.RELEASE:compile
|  +- javax.xml.bind:jaxb-api:jar:2.2.12:compile
|  +- javax.validation:validation-api:jar:1.1.0.Final:compile
|  +- com.google.guava:guava:jar:18.0:compile
|  +- commons-betwixt:commons-betwixt:jar:0.8:compile
|  |  +- commons-beanutils:commons-beanutils-core:jar:1.7.0:compile
|  |  \- commons-digester:commons-digester:jar:2.1:compile
|  +- net.sf.dozer:dozer:jar:5.4.0:compile
|  +- org.slf4j:jcl-over-slf4j:jar:1.7.24:compile
|  +- uk.org.lidalia:sysout-over-slf4j:jar:1.0.2:compile
|  +- org.slf4j:slf4j-api:jar:1.7.24:compile
|  \- ch.qos.logback:logback-classic:jar:1.1.11:compile
|    \- ch.qos.logback:logback-core:jar:1.1.11:compile
+- com.mycompany.fonems:fonems-refonte-dao:jar:0.0.104-SNAPSHOT:compile
|  +- com.zaxxer:HikariCP:jar:2.5.1:compile
|  +- org.lazyluke:log4jdbc-remix:jar:0.2.7:compile
|  +- com.mycompany.fonems:fonems-config:jar:0.0.104-SNAPSHOT:compile
|  +- com.mycompany.fonems:fonems-refonte-model:jar:0.0.104-SNAPSHOT:compile
|  |  +- org.jvnet.jaxb2_commons:jaxb2-basics-runtime:jar:0.6.4:compile
|  |  +- openaccess:comFidessaInf:jar:3.0.1:compile
|  |  +- org.springframework.boot:spring-boot-starter-validation:jar:1.5.2.RELEASE:compile
|  |  |  +- org.springframework.boot:spring-boot-starter:jar:1.5.2.RELEASE:compile
|  |  |  |  +- org.springframework.boot:spring-boot:jar:1.5.2.RELEASE:compile
|  |  |  |  +- org.springframework.boot:spring-boot-autoconfigure:jar:1.5.2.RELEASE:compile
|  |  |  |  +- org.springframework.boot:spring-boot-starter-logging:jar:1.5.2.RELEASE:compile
|  |  |  |  |  +- org.slf4j:jul-to-slf4j:jar:1.7.24:compile
|  |  |  |  |  \- org.slf4j:log4j-over-slf4j:jar:1.7.24:compile
|  |  |  |  \- org.yaml:snakeyaml:jar:1.17:runtime
|  |  |  +- org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.11:compile
|  |  |  \- org.hibernate:hibernate-validator:jar:5.3.4.Final:compile
|  |  |    \- com.fasterxml:classmate:jar:1.3.3:compile
|  |  \- org.springframework.boot:spring-boot-starter-data-jpa:jar:1.5.2.RELEASE:compile
|  |    +- org.springframework.boot:spring-boot-starter-aop:jar:1.5.2.RELEASE:compile
|  |    |  \- org.aspectj:aspectjweaver:jar:1.8.9:compile
|  |    +- org.springframework.boot:spring-boot-starter-jdbc:jar:1.5.2.RELEASE:compile
|  |    +- org.hibernate:hibernate-core:jar:5.0.12.Final:compile
|  |    |  +- antlr:antlr:jar:2.7.7:compile
|  |    |  \- org.jboss:jandex:jar:2.0.0.Final:compile
|  |    +- org.springframework.data:spring-data-jpa:jar:1.11.1.RELEASE:compile
|  |    |  +- org.springframework.data:spring-data-commons:jar:1.13.1.RELEASE:compile
|  |    |  \- org.springframework:spring-orm:jar:4.3.7.RELEASE:compile
|  |    \- org.springframework:spring-aspects:jar:4.3.7.RELEASE:compile
|  +- org.springframework:spring-core:jar:4.3.7.RELEASE:compile
|  +- org.springframework:spring-test:jar:4.3.7.RELEASE:compile
|  +- org.springframework:spring-jdbc:jar:4.3.7.RELEASE:compile
|  +- org.springframework:spring-beans:jar:4.3.7.RELEASE:compile
|  +- org.hsqldb:hsqldb:jar:2.3.3:compile
|  +- commons-dbcp:commons-dbcp:jar:1.4:compile
|  |  \- commons-pool:commons-pool:jar:1.6:compile
|  +- com.oracle:ojdbc7:jar:12.1.0.2:compile
|  \- de.jpdigital:hibernate5-ddl-maven-plugin:jar:1.0.0:compile
|    +- org.apache.maven:maven-artifact:jar:3.3.9:compile
|    +- org.apache.maven:maven-core:jar:3.3.9:compile
|    |  +- org.apache.maven:maven-model:jar:3.3.9:compile
|    |  +- org.apache.maven:maven-settings:jar:3.3.9:compile
|    |  +- org.apache.maven:maven-settings-builder:jar:3.3.9:compile
|    |  |  \- org.apache.maven:maven-builder-support:jar:3.3.9:compile
|    |  +- org.apache.maven:maven-repository-metadata:jar:3.3.9:compile
|    |  +- org.apache.maven:maven-model-builder:jar:3.3.9:compile
|    |  +- org.apache.maven:maven-aether-provider:jar:3.3.9:compile
|    |  |  \- org.eclipse.aether:aether-spi:jar:1.0.2.v20150114:compile
|    |  +- org.eclipse.aether:aether-impl:jar:1.0.2.v20150114:compile
|    |  +- org.eclipse.aether:aether-api:jar:1.0.2.v20150114:compile
|    |  +- org.eclipse.aether:aether-util:jar:1.0.2.v20150114:compile
|    |  +- org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.3.2:compile
|    |  |  +- javax.enterprise:cdi-api:jar:1.0:compile
|    |  |  |  \- javax.annotation:jsr250-api:jar:1.0:compile
|    |  |  \- org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.3.2:compile
|    |  +- com.google.inject:guice:jar:no_aop:4.0:compile
|    |  |  +- javax.inject:javax.inject:jar:1:compile
|    |  |  \- aopalliance:aopalliance:jar:1.0:compile
|    |  +- org.codehaus.plexus:plexus-interpolation:jar:1.21:compile
|    |  +- org.codehaus.plexus:plexus-classworlds:jar:2.5.2:compile
|    |  +- org.codehaus.plexus:plexus-component-annotations:jar:1.6:compile
|    |  \- org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3:compile
|    |    \- org.sonatype.plexus:plexus-cipher:jar:1.4:compile
|    +- org.apache.maven:maven-plugin-api:jar:3.3.9:compile
|    +- org.apache.maven:maven-project:jar:3.0-alpha-2:compile
|    |  +- org.apache.maven:maven-compat:jar:3.0-alpha-2:compile
|    |  |  \- org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-4:compile
|    |  +- org.codehaus.plexus:plexus-container-default:jar:1.0-beta-3.0.5:compile
|    |  |  +- org.apache.xbean:xbean-reflect:jar:3.4:compile
|    |  |  |  +- log4j:log4j:jar:1.2.12:compile
|    |  |  |  \- commons-logging:commons-logging-api:jar:1.1:compile
|    |  |  \- com.google.code.google-collections:google-collect:jar:snapshot-20080530:compile
|    |  +- org.codehaus.woodstox:wstx-asl:jar:3.2.6:compile
|    |  |  \- stax:stax-api:jar:1.0.1:compile
|    |  +- org.sonatype.spice:model-builder:jar:1.3:compile
|    |  \- org.apache.maven:maven-project-builder:jar:3.0-alpha-2:compile
|    +- org.codehaus.plexus:plexus-utils:jar:3.0.24:compile
|    +- org.hibernate:hibernate-entitymanager:jar:5.0.12.Final:compile
|    |  +- org.jboss.logging:jboss-logging:jar:3.3.0.Final:compile
|    |  +- dom4j:dom4j:jar:1.6.1:compile
|    |  +- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:compile
|    |  +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
|    |  +- org.javassist:javassist:jar:3.21.0-GA:compile
|    |  \- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:compile
|    +- org.hibernate:hibernate-envers:jar:5.0.12.Final:compile
|    +- org.reflections:reflections:jar:0.9.10:compile
|    |  \- com.google.code.findbugs:annotations:jar:2.0.1:compile
|    \- javax.transaction:javax.transaction-api:jar:1.2:compile
+- com.google.gwt:gwt-servlet:jar:2.8.0:runtime
+- com.google.gwt:gwt-user:jar:2.8.0:provided
|  +- com.google.jsinterop:jsinterop-annotations:jar:1.0.1:provided
|  +- com.google.jsinterop:jsinterop-annotations:jar:sources:1.0.1:provided
|  +- javax.validation:validation-api:jar:sources:1.0.0.GA:provided
|  +- javax.servlet:javax.servlet-api:jar:3.1.0:provided
|  \- org.w3c.css:sac:jar:1.3:provided
+- com.google.gwt:gwt-dev:jar:2.8.0:provided
|  +- com.google.code.gson:gson:jar:2.8.0:provided
|  +- org.ow2.asm:asm:jar:5.0.3:provided
|  +- org.ow2.asm:asm-util:jar:5.0.3:provided
|  |  \- org.ow2.asm:asm-tree:jar:5.0.3:provided
|  +- org.ow2.asm:asm-commons:jar:5.0.3:provided
|  +- colt:colt:jar:1.2.0:provided
|  +- ant:ant:jar:1.6.5:provided
|  +- com.ibm.icu:icu4j:jar:50.1.1:provided
|  +- tapestry:tapestry:jar:4.0.2:provided
|  +- net.sourceforge.htmlunit:htmlunit:jar:2.21:provided
|  |  +- xalan:xalan:jar:2.7.2:provided
|  |  |  \- xalan:serializer:jar:2.7.2:provided
|  |  +- org.apache.httpcomponents:httpclient:jar:4.5.3:provided
|  |  |  \- org.apache.httpcomponents:httpcore:jar:4.4.6:provided
|  |  +- org.apache.httpcomponents:httpmime:jar:4.5.3:provided
|  |  +- commons-codec:commons-codec:jar:1.10:provided
|  |  +- net.sourceforge.htmlunit:htmlunit-core-js:jar:2.17:provided
|  |  +- net.sourceforge.htmlunit:neko-htmlunit:jar:2.21:provided
|  |  +- net.sourceforge.cssparser:cssparser:jar:0.9.18:provided
|  |  \- org.eclipse.jetty.websocket:websocket-client:jar:9.4.2.v20170220:provided
|  |    +- org.eclipse.jetty:jetty-client:jar:9.4.2.v20170220:provided
|  |    \- org.eclipse.jetty.websocket:websocket-common:jar:9.2.14.v20151106:provided
|  |       \- org.eclipse.jetty.websocket:websocket-api:jar:9.2.14.v20151106:provided
|  +- org.eclipse.jetty:jetty-webapp:jar:9.4.2.v20170220:provided
|  |  +- org.eclipse.jetty:jetty-xml:jar:9.4.2.v20170220:provided
|  |  \- org.eclipse.jetty:jetty-servlet:jar:9.4.2.v20170220:provided
|  |    \- org.eclipse.jetty:jetty-security:jar:9.4.2.v20170220:provided
|  |       \- org.eclipse.jetty:jetty-server:jar:9.4.2.v20170220:provided
|  +- org.eclipse.jetty:jetty-servlets:jar:9.4.2.v20170220:provided
|  |  +- org.eclipse.jetty:jetty-continuation:jar:9.4.2.v20170220:provided
|  |  +- org.eclipse.jetty:jetty-http:jar:9.4.2.v20170220:provided
|  |  +- org.eclipse.jetty:jetty-util:jar:9.4.2.v20170220:provided
|  |  \- org.eclipse.jetty:jetty-io:jar:9.4.2.v20170220:provided
|  +- org.eclipse.jetty:jetty-annotations:jar:9.4.2.v20170220:provided
|  |  +- org.eclipse.jetty:jetty-plus:jar:9.4.2.v20170220:provided
|  |  |  \- org.eclipse.jetty:jetty-jndi:jar:9.2.14.v20151106:provided
|  |  \- javax.annotation:javax.annotation-api:jar:1.2:provided
|  \- org.eclipse.jetty:apache-jsp:jar:9.4.2.v20170220:provided
|    +- org.eclipse.jetty.toolchain:jetty-schemas:jar:3.1:provided
|    +- org.mortbay.jasper:apache-jsp:jar:8.5.9.1:provided
|    |  \- org.mortbay.jasper:apache-el:jar:8.0.33:provided
|    \- org.eclipse.jdt.core.compiler:ecj:jar:4.4.2:provided
+- com.smartgwt:smartgwt:jar:3.1:compile
+- com.smartgwt:smartgwt-skins:jar:3.1:compile
+- mycompany.drh:newncauth:jar:2.0.0:compile
+- mycompany.drh:mycompany.droits-habilitations.rmi:jar:02.10.01:compile
+- junit:junit:jar:4.12:test
|  \- org.hamcrest:hamcrest-core:jar:1.3:test
\- org.projectlombok:lombok:jar:1.16.14:compile
------------------------------------------------------------------------
BUILD SUCCESS

----------------------------------------------- -------------------------

我测试了安迪提出的解决方案,但没有成功,总是同样的例外 测试1由Andy提出(添加属性jetty.version 9.2.14.v20151106)

pom修改
+1行

<properties>
  <jetty.version>9.2.14.v20151106</jetty.version> 
</properties>

依赖关系树修改(与第一个树依赖关系相比,其他行没有变化):

+- com.google.gwt:gwt-dev:jar:2.8.0:provided
|  +- com.google.code.gson:gson:jar:2.8.0:provided
|  +- org.ow2.asm:asm:jar:5.0.3:provided
|  +- org.ow2.asm:asm-util:jar:5.0.3:provided
|  |  \- org.ow2.asm:asm-tree:jar:5.0.3:provided
|  +- org.ow2.asm:asm-commons:jar:5.0.3:provided
|  +- colt:colt:jar:1.2.0:provided
|  +- ant:ant:jar:1.6.5:provided
|  +- com.ibm.icu:icu4j:jar:50.1.1:provided
|  +- tapestry:tapestry:jar:4.0.2:provided
|  +- net.sourceforge.htmlunit:htmlunit:jar:2.21:provided
|  |  +- xalan:xalan:jar:2.7.2:provided
|  |  |  \- xalan:serializer:jar:2.7.2:provided
|  |  +- org.apache.httpcomponents:httpclient:jar:4.5.3:provided
|  |  |  \- org.apache.httpcomponents:httpcore:jar:4.4.6:provided
|  |  +- org.apache.httpcomponents:httpmime:jar:4.5.3:provided
|  |  +- commons-codec:commons-codec:jar:1.10:provided
|  |  +- net.sourceforge.htmlunit:htmlunit-core-js:jar:2.17:provided
|  |  +- net.sourceforge.htmlunit:neko-htmlunit:jar:2.21:provided
|  |  +- net.sourceforge.cssparser:cssparser:jar:0.9.18:provided
|  |  \- org.eclipse.jetty.websocket:websocket-client:jar:9.2.14.v20151106:provided
|  |    \- org.eclipse.jetty.websocket:websocket-common:jar:9.2.14.v20151106:provided
|  |       \- org.eclipse.jetty.websocket:websocket-api:jar:9.2.14.v20151106:provided
|  +- org.eclipse.jetty:jetty-webapp:jar:9.2.14.v20151106:provided
|  |  +- org.eclipse.jetty:jetty-xml:jar:9.2.14.v20151106:provided
|  |  \- org.eclipse.jetty:jetty-servlet:jar:9.2.14.v20151106:provided
|  |    \- org.eclipse.jetty:jetty-security:jar:9.2.14.v20151106:provided
|  +- org.eclipse.jetty:jetty-servlets:jar:9.2.14.v20151106:provided
|  |  +- org.eclipse.jetty:jetty-continuation:jar:9.2.14.v20151106:provided
|  |  +- org.eclipse.jetty:jetty-http:jar:9.2.14.v20151106:provided
|  |  +- org.eclipse.jetty:jetty-util:jar:9.2.14.v20151106:provided
|  |  \- org.eclipse.jetty:jetty-io:jar:9.2.14.v20151106:provided
|  +- org.eclipse.jetty:jetty-annotations:jar:9.2.14.v20151106:provided
|  |  +- org.eclipse.jetty:jetty-plus:jar:9.2.14.v20151106:provided
|  |  |  \- org.eclipse.jetty:jetty-jndi:jar:9.2.14.v20151106:provided
|  |  \- javax.annotation:javax.annotation-api:jar:1.2:provided
|  \- org.eclipse.jetty:apache-jsp:jar:9.2.14.v20151106:provided
|    +- org.eclipse.jetty:jetty-server:jar:9.2.14.v20151106:provided
|    +- org.eclipse.jetty.toolchain:jetty-schemas:jar:3.1.M0:provided
|    \- org.mortbay.jasper:apache-jsp:jar:8.0.9.M3:provided
|       \- org.mortbay.jasper:apache-el:jar:8.0.33:provided
+- com.smartgwt:smartgwt:jar:3.1:compile
+- com.smartgwt:smartgwt-skins:jar:3.1:compile

测试2由Andy提出(强制依赖于9.2.14至9.4.2.v20170220)

pom修改

 <dependencyManagement>
  <dependency>
      <groupId>org.eclipse.jetty.websocket</groupId>
      <artifactId>websocket-common</artifactId>
      <version>9.4.2.v20170220</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty.websocket</groupId>
      <artifactId>websocket-api</artifactId>
      <version>9.4.2.v20170220</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-jndi</artifactId>
      <version>9.4.2.v20170220</version>
      <scope>provided</scope>
    </dependency>
   </dependencies>
 </dependencyManagement>

依赖关系树修改(与第一个树依赖关系相比,其他行没有变化):

+- com.google.gwt:gwt-user:jar:2.8.0:provided
... 
|  |    \- org.eclipse.jetty.websocket:websocket-common:jar:9.4.2.v20170220:provided
|  |       \- org.eclipse.jetty.websocket:websocket-api:jar:9.4.2.v20170220:provided
...
|  |  |  \- org.eclipse.jetty:jetty-jndi:jar:9.4.2.v20170220:provided

上次测试日志

11:17:35,004 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
11:17:35,020 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Will scan for changes in [file:/C:/Dev/Appli/fonems-webapp/fonemswebapp/src/mai
n/webapp/WEB-INF/classes/logback.xml] 
11:17:35,020 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Setting ReconfigureOnChangeTask scanning period to 1 minutes
11:17:35,020 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@2:52 - RuntimeException in Action for tag [configuration] java.lang.NullPointerException

at java.lang.NullPointerException
at java.lang.ClassLoader.resolveClass0(Native Method)
at java.lang.ClassLoader.resolveClass(ClassLoader.java:964)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:523)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at ch.qos.logback.classic.util.EnvUtil.isGroovyAvailable(EnvUtil.java:36)
at ch.qos.logback.classic.joran.action.ConfigurationAction.begin(ConfigurationAction.java:68)
at ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:269)
at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:145)
at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:128)
at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110)
...
at com.google.gwt.dev.DevMode.main(DevMode.java:430)
11:17:35,020 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@6af1c1b - Registering current configuration as safe fallback point

SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
Exception in thread "main" java.lang.NoSuchMethodError: org.eclipse.jetty.websocket.server.WebSocketServerFactory.<init>(Ljavax/servlet/ServletContext;)V
at org.eclipse.jetty.websocket.server.NativeWebSocketConfiguration.<init>(NativeWebSocketConfiguration.java:53)  

----------------------------------------------- -------------------------

我做了其他测试:我删除了spring-boot依赖项:result =相同的异常。此外,依赖关系树显示版本9.2.14.v20151106

中的所有jetty atrifacts

此外,我尝试在罐子中搜索类org.eclipse.jetty.websocket.server.WebSocketServerFactory但未找到。它在哪里?为什么在日志中提到这个课程?
谢谢你的帮助

2 个答案:

答案 0 :(得分:4)

您在类路径中混合使用Jetty版本:9.4.2.v20170220和9.2.14.v20151106。前者是Spring Boot 1.5.2默认使用的。我想后者来自com.google.gwt:gwt的导入。

您可以覆盖Spring Boot用于将其值设置为jetty.version的{​​{1}}属性,从而在任何地方使用9.2.14。或者,您可以为当前使用9.2.14的模块声明自己的依赖关系管理,以将它们升级到9.4.2。

答案 1 :(得分:0)

如果我将spring-boot版本升级到1.5.3.RELEASE,它似乎没问题:没有出现这样的异常。

<parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>1.5.3.RELEASE</version>
</parent>

然而,另一个例外发生了:

ServiceConfigurationError: org.apache.juli.logging.Log: Provider org.eclipse.jetty.apache.jsp.JuliLog not a subtype

为了修复它,我从gwt-dev依赖

中排除了jetty apache-jsp依赖
<dependency>
  <groupId>com.google.gwt</groupId>
  <artifactId>gwt-dev</artifactId>
  <scope>provided</scope>
  <exclusions>
    <exclusion>
        <artifactId>apache-jsp</artifactId>
        <groupId>org.eclipse.jetty</groupId>
    </exclusion>
  </exclusions>
</dependency>