2016-11-22 90 views
0

当我试图在SuperDevMode中启动我的GWT项目时在的IntelliJ我收到以下错误:'com.google.gwt.dev.shell.jetty.JettyLauncher.WebAppContextWithReload'类的对象不是'org.eclipse.jetty.webapp.WebAppContext'类型的对象

2016-11-22 09:32:25,752 [main] INFO org.eclipse.jetty.server.Server - jetty-9.2.14.v20151106 
Starting Jetty on port 8888 
    [WARN] Failed startup of context [email protected]{/,file:/C:/Users/xxx/.IntelliJIdea2016.2/system/gwt/xxxTrunk.1eba6fcd/xxx.b010468/run/www/,STARTING}{C:\Users\xxx\.IntelliJIdea2016.2\system\gwt\xxxTrunk.1eba6fcd\xxx.b010468\run\www} 
java.lang.IllegalArgumentException: Object of class 'com.google.gwt.dev.shell.jetty.JettyLauncher.WebAppContextWithReload' is not of type 'org.eclipse.jetty.webapp.WebAppContext'. Object Class and type Class are from different loaders. in file:/C:/Users/xxx/.IntelliJIdea2016.2/system/gwt/xxxTrunk.1eba6fcd/xxx.b010468/run/www/WEB-INF/jetty-web.xml 
    at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:296) 
    at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:248) 
    at org.eclipse.jetty.webapp.JettyWebXmlConfiguration.configure(JettyWebXmlConfiguration.java:102) 
    at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:479) 
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1337) 
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741) 
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505) 

Maven配置:

<dependency> 
    <groupId>com.google.gwt</groupId> 
    <artifactId>gwt-servlet</artifactId> 
    <version>2.8.0</version> 
    <scope>runtime</scope> 
</dependency> 
<dependency> 
    <groupId>com.google.gwt</groupId> 
    <artifactId>gwt-user</artifactId> 
    <version>2.8.0</version> 
    <scope>provided</scope> 
</dependency> 

<dependency> 
    <groupId>com.google.gwt</groupId> 
    <artifactId>gwt-dev</artifactId> 
    <version>2.8.0</version> 
    <scope>provided</scope> 
</dependency> 

... 

<!-- Additional GWT libraries --> 
<dependency> 
    <groupId>net.customware.gwt.dispatch</groupId> 
    <artifactId>gwt-dispatch</artifactId> 
    <version>1.2.0</version> 
</dependency> 
<dependency> 
    <groupId>com.googlecode.mvp4g</groupId> 
    <artifactId>mvp4g</artifactId> 
    <version>1.3.1</version> 
</dependency> 
<dependency> 
    <groupId>com.smartgwt</groupId> 
    <artifactId>smartgwt</artifactId> 
    <version>6.0p</version> 
</dependency> 
<dependency> 
    <groupId>com.google.guava</groupId> 
    <artifactId>guava-gwt</artifactId> 
    <version>19.0</version> 
</dependency> 

... 

<plugins> 
<!-- GWT Maven Plugin --> 
<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>gwt-maven-plugin</artifactId> 
    <version>2.8.0</version> 
    <executions> 
     <execution> 
      <goals> 
       <goal>compile</goal> 
       <goal>test</goal> 
        <goal>i18n</goal> 
      </goals> 
     </execution> 
    </executions> 

    <configuration> 
     <extraJvmArgs>-Xmx1024m -Xms512m -Xss512k</extraJvmArgs> 
     <runTarget>xxx.html</runTarget> 
     <hostedWebapp>${webappDirectory}</hostedWebapp> 
     <i18nMessagesBundle>xxx.Messages</i18nMessagesBundle> 
     <style>OBF</style> 
     <disableCastChecking>true</disableCastChecking> 
    </configuration> 
</plugin> 

我加入GWT-dev下的建议: Gwt 2.8-rc1 super dev mode is not working on IntelliJ IDEA 2016.2.5

运行的conf iguration VM选项:

-Xmx2048m -XX:MaxPermSize参数=1024米-Djava.naming.factory.initial = org.eclipse.jetty.jndi.InitialContextFactory

码头-web.xml配置:

<?xml version="1.0"?> 
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd"> 
<Configure id="wac" class="org.eclipse.jetty.webapp.WebAppContext"> 
    <New id="configurationDataSource" class="org.eclipse.jetty.plus.jndi.Resource"> 

     <Arg>jdbc/configurationDataSource</Arg> 
     <Arg> 
      <New class="org.apache.commons.dbcp.BasicDataSource"> 
       <Set name="driverClassName">oracle.jdbc.OracleDriver</Set> 
       <Set name="url">xxx</Set> 
       <Set name="username">xxx</Set> 
       <Set name="password">xxx/Set> 
      </New> 
     </Arg> 
    </New> 
    <New id="configuration" class="org.eclipse.jetty.plus.jndi.EnvEntry"> 
     <Arg>configuration</Arg> 
     <Arg type="java.lang.String">classpath:META-INF/application-local.properties</Arg> 
     <Arg type="boolean">true</Arg> 
    </New> 
</Configure> 

我分析了mvn依赖关系:树。有没有包括额外的码头版本

路径GWT安装目录:

C:\用户\ xxx.m2 \库\ COM \谷歌\ GWT \ GWT-dev的\ 2.8.0

JDK版本:8

回答

0

当我将IntelliJ IDEA从2016.2.5更新至2016.3时,问题消失。