1

IntelliJ IDEA 11 Community Edition (GWT プラグインは含まれていません) で、Errai を使用して GWT プロジェクトの実行構成を設定するにはどうすればよいですか?

IntelliJ Community Edition で GWT プロジェクトを実行するための手順と、Eclipse で GWT、CDI、および Errai を操作するための手順を見つけましたが、これらをまとめると、実行構成がアプリの読み込みに失敗します。どのような構成が必要ですか?

4

1 に答える 1

2

IntelliJ 11 Community Edition から GWT/Errai プロジェクトを実行するには、次の手順を実行します。

GWT、Errai、およびプロジェクト ソース ディレクトリをクラスパスに追加します。

  • [ファイル] > [プロジェクト構造] に移動し、[プロジェクト設定] で [モジュール] を選択します。[依存関係] タブを選択します。
  • 黄色のプラス ボタンをクリックし、[jar または依存関係] を選択して依存関係を追加できます。このようにして、gwt-dev.jar と gwt-user.jar (GWT SDK から) と、すべての Errai jar を含むディレクトリ (つまり、errai-marshalling-(version).jar、errai-data-binding-(バージョン).jar). これらの jar のバージョンが Maven (または他のビルド ツール) の依存関係と一致していることを確認してください。
  • 同様に、プロジェクトの src ディレクトリを追加します。「空のライブラリ」として表示される場合がありますが、削除しないでください。プロジェクトの .iml ファイルを開き、/src および/または /src/main/java ディレクトリを参照している行を見つけます。SOURCES 要素の下にある場合は、代わりに CLASSES の下に移動して、次のようにします。この投稿に貢献してくれたスタック オーバーフロー ユーザーの Vic に感謝します。

    <library>
      <CLASSES>
        <root url="file://$MODULE_DIR$/src" />
        <root url="file://$MODULE_DIR$/src/main/java" />
        <root url="file://$MODULE_DIR$/src/main/webapp/WEB-INF/classes" />
      </CLASSES>
      <JAVADOC />
      <SOURCES />
    </library>
    

実行構成を作成する

  • 新しいアプリケーション実行構成を作成します (実行 > 構成の編集 > + > アプリケーション)。
  • Main クラスには、「com.google.gwt.dev.DevMode」を入力します。
  • まだ選択されていない場合は、[モジュールのクラスパスを使用] メニューでプロジェクトを選択します。
  • プロジェクトのパラメーターを置き換えて、以下と同等のプログラム引数を追加します。すべての有効な引数の説明については、何も指定せずに構成を実行し、出力を確認してください。

    -noserver -server org.jboss.errai.cdi.server.gwt.JettyLauncher -war /path/to/project/exploded/war/dir -logLevel INFO -startupUrl App.html project.module.App
    
  • 構成を実行し、GWT Development Mode ウィンドウで Launch Default Browser をクリックします。アプリが読み込まれることを願っています。

トラブルシューティング

  • 例外が発生した場合は、GWT 開発モード ウィンドウの [アプリ] タブで出力を確認してください。ここでの出力は、必ずしもブラウザーや IntelliJ のログに反映されるとは限らず、問題を診断するための鍵となる可能性があります。
  • 「java.lang.RuntimeException: Deferred binding failed for 'org.jboss.errai.ioc.client.Bootstrapper' (必要なモジュールを継承するのを忘れましたか?)」という例外が発生した場合は、App タブの下を確認してください。GWT モジュールを継承するのを忘れている可能性があります。出力はどれを明らかにします。
  • マーシャリング エラーが発生した場合は、ErraiApp.properties にシリアル化可能なすべてのタイプがリストされていること、およびこのファイルのメイン コピーとテスト コピーが一致していることを確認してください。
于 2012-09-27T02:18:07.143 に答える