2017-02-15 14 views
0

私は、次のメッセージが表示さWildFly上で、私のアプリケーションをデプロイした後:WildFly GWTエラーメッセージTomcatコンテナ

2017-02-15 10:06:51,440 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 178) MSC000001: Failed to start service jboss.undertow.deployment.default-server.default-host./cati: org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host./cati: java.lang.NoSuchMethodError: org.apache.tomcat.util.descriptor.DigesterFactory.newDigester(ZZLorg/apache/tomcat/util/digester/RuleSet;Z)Lorg/apache/tomcat/util/digester/Digester; at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:85) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) at org.jboss.threads.JBossThread.run(JBossThread.java:320) Caused by: java.lang.NoSuchMethodError: org.apache.tomcat.util.descriptor.DigesterFactory.newDigester(ZZLorg/apache/tomcat/util/digester/RuleSet;Z)Lorg/apache/tomcat/util/digester/Digester; at org.apache.tomcat.util.descriptor.tld.TldParser.(TldParser.java:49) at org.apache.tomcat.util.descriptor.tld.TldParser.(TldParser.java:44) at org.apache.jasper.servlet.TldScanner.(TldScanner.java:79) at org.apache.jasper.servlet.JasperInitializer.newTldScanner(JasperInitializer.java:120) at org.eclipse.jetty.apache.jsp.JettyJasperInitializer.newTldScanner(JettyJasperInitializer.java:115) at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:101) at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:184) at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:100) at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82) ... 6 more

私のMavenプロジェクトで、私はオーバー読んで、私はまた、次のdepdencies

<!-- GWT --> 
    <!-- https://mvnrepository.com/artifact/com.google.gwt/gwt-user --> 
    <dependency> 
     <groupId>com.google.gwt</groupId> 
     <artifactId>gwt-user</artifactId> 
     <version>2.8.0</version> 
    </dependency> 
    <!-- https://mvnrepository.com/artifact/com.google.gwt/gwt-servlet --> 
    <dependency> 
     <groupId>com.google.gwt</groupId> 
     <artifactId>gwt-servlet</artifactId> 
     <version>2.8.0</version> 
    </dependency> 
    <!-- https://mvnrepository.com/artifact/com.google.gwt/gwt-dev --> 
    <dependency> 
     <groupId>com.google.gwt</groupId> 
     <artifactId>gwt-dev</artifactId> 
     <version>2.8.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tomcat</groupId> 
     <artifactId>tomcat-util-scan</artifactId> 
     <version>8.5.2</version> 
    </dependency> 

をインポートしますWildFlyプロジェクトでTomcatコンテナが削除された理由を以下に示します。

<dependency> 
     <groupId>org.apache.tomcat</groupId> 
     <artifactId>tomcat-util-scan</artifactId> 
     <version>8.5.2</version> 
    </dependency> 

このエラーメッセージを回避する方法はありますか?もちろん

+0

Thomas Broyers maven gwtプラグインを使用すると、サーバーモジュール、サーバークラスパスをクライアントモジュールのクラスパスで区切ることができます。 – Branflake2267

+0

私は同じ問題を抱えていますが、解決策を見つけましたか? – Phoste

答えて

0

は、あなたが(GWT-devの)次depedencyをテストするために追加した場合、あなたが見ることができるよう、機能していません。

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

桟橋サーバーを含めて、これはrecevingためmovtivの一つであります私の最初の質問からのメッセージ。

0

コンパイル時の依存関係をサーバー側で混乱させないように注意してください。

gwt-servletのみ実行時のために必要とされ、gwt-devgwt-userprovidedに設定する必要があります - JavaScriptにコンパイルするためにそれらが使用可能になるが、アプリケーションサーバー上で、最終的なWARファイルでそれらを除外してもたらされます。

<!-- GWT --> 
    <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> 
    </dependency> 

しかし、あなたはそれが既にアプリケーションのサーバ部分を実行するためにすべてを含んでいるようWildFlyサーバー内の任意のTomcatのライブラリを配置しようとはならないように、すべての後に、それは私には見えます

。 は、したがって、ちょうどそうのようなプレーンなサーブレットAPIに固執:

<dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>javax.servlet-api</artifactId> 
     <scope>provided</scope> 
    </dependency> 

WildFlyは、それが内蔵されているように、それは、再びprovidedです。

Tomcatの依存関係を除外して、それが機能するかどうか確認できますか?

+0

こんにちは、私はここで同じ問題を抱えていますが、私は自分のプロジェクトにgoogle.gwt依存関係はありません。提供されたスコープでjavax.servlet-apiの依存関係を追加しました。私はspring-boot-starter-webからspring-boot-starter-tomcatを除外し、それに付属のスコープを追加しました(私はそれをどこかに見ました)。それでもすべて私はまだ問題を抱えています。 – Phoste

関連する問題