私はGWTをMavenと一緒に使用してきましたが、何をしようとしても、Eclipse はソース コードを通常のwebapp/WEB-INF/classesフォルダーに自動的にコンパイルしたくありません。GWT-Platformのgwtp-sample-basicサンプルを使用して問題を再現してみました。ここで見つけることができます: gwtp-samples-0.6.zip
クラスを使用せずに Jetty を介してプロジェクトをデプロイおよび実行すると、次の予期されるエラーが発生します。
[WARN] Could not instantiate listener example.project.server.MyGuiceServletContextListener
java.lang.ClassNotFoundException: example.project.server.MyGuiceServletContextListener
...
[WARN] EXCEPTION
java.lang.ClassNotFoundException: com.google.inject.servlet.GuiceFilter
...
[WARN] failed guiceFilter: javax.servlet.UnavailableException: com.google.inject.servlet.GuiceFilter
...
[WARN] Failed startup of context com.google.apphosting.utils.jetty.DevAppEngineWebAppContext@aec7ab1{/,/home/user/Documents/Workspace/project/src/main/webapp}
javax.servlet.UnavailableException: com.google.inject.servlet.GuiceFilter
...
Ant を使用すると、クラスは正しいフォルダーwebapp/WEB-INF/classesにビルドされますが、これまでに試した Maven 構成では失敗します。
- これはMaven固有のものでしょうか?
- Eclipse で設定するのを忘れた可能性があるものはありますか?
- 同様の問題があり、それらを修正する方法を見つけた人はいますか?
補足: Eclipse 用のデフォルトの Sonatype Maven プラグインを使用します。また、webAppCreator ツールを使用して Maven プロジェクトを再初期化しようとしましたが、結果は変わりませんでした。提供されたデフォルトの実行構成を使用します。webapp/WEB-INF/lib には、必要なライブラリが自動的に含まれます。