多くの場合、キャッシュの破損が原因です。アプリケーションサーバーを停止し、GWTでコンパイルされた出力をwarディレクトリから削除します。運が良ければ、再コンパイルされたWebアプリは期待どおりに実行されます。このプロセスはEclipseGWTプラグインの厄介な特性であるため、すぐに理解できるようになります。IntelliJ IDEは優れたコンパイラであり、これらの不可解な癖に悩まされていないため、ここで言及する価値がありますが、GWTサポートにはUltimate Edition($)が必要です。
一般的なwar
ディレクトリの構造は次のとおりです。
- mywebapp /
- WEB-INF /
- index.html
削除するディレクトリはmywebapp
です。これは、WebApps GWTモジュール(.gwt.xml)の完全修飾パスであるか、より一般的にはrename
、同じモジュールで定義された属性に名前が変更されます。たとえば、次のMyWebApp.gwt.xml
ようになります。
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to="mywebapp">
<entry-point class="com.mywebsite.client.MyWebAppEntry"/>
<source path="client"/>
</module>
rename-to属性が定義されていない場合、GWTコンパイラはWARディレクトリに。という名前のディレクトリを配置しますcom.mywebsite.MyWebApp
。ただし、rename属性を定義したため、GWTコンパイラーはモジュールxmlから短縮名を取得することで出力を単純化します。
Eclipseがディレクトリ構造がプロジェクトと同期していないと文句を言う場合は、プロジェクトを更新することを忘れないでください。