2

私が持っているいくつかの特定の質問を先導し、文脈に従ってそれらをフォローします。

  • EclipseでのGWTコード検証の構成方法を制御するにはどうすればよいですか?
  • GWTコード検証は何をしますか?
  • Javaクラスをスキャンしているとき、クラスの読み込みは行われますか?
  • クライアント/共有パッケージにないクラスをスキャンするのはなぜですか?そして、どうすればそれを止めることができますか?

EclipseJunoを実行しています。最近、私のチームの別のメンバーがプロジェクトをGWT 2.4から2.5にアップグレードしました。最初に気付いたのは、GWTコード検証がリソースを消費し、ワークスペースを停止させ、最終的にJavaヒープエラーで失敗することでした。日食を殺します。

念のために言っておきますがeclipse.ini、具体的には、ヒープを十分に構成する必要があります。-Xms256m -Xmx1536m

それでも、ワークスペースの制御を取り戻すために、チェックを外しProject --> Build Automatically、を使用してヒープ使用量を表示するようにEclipseを構成し、何が起こるかを確認するための実験としてPreferences --> General --> Show Heap Statusヒープサイズを増やしましたeclipse.ini-Xms2048m -Xmx3072m

これを行った後、私は再びEclipseを開き、GWTコード検証フェーズを実行しているときのプログレスバーとヒープサイズに注意を払いながら、自動的にビルドできるようにしました。 2Gの北が消費されました。最終的には完了しました(時間がかかりすぎましたが、妥当な時間ではありませんでした)。それが行われてから1分以内に、巨大なガベージコレクションイベントによってヒープがわずか300メガバイトにまで減少しました。

プログレスバーの下に表示されたものはもっと興味深いものでした。GWTコード検証は*.java、プロジェクト全体のすべてのファイルをスキャンしているように見えました。パッケージに含まれるファイルだけでなく、すべてのものですclientshared私は、GWTコンパイラーが100万年後には決して見ることのないクラス名を見ました。

したがって、GWTコンパイラはエントリポイントのGWTモジュールファイルから始めてそこから検索するのに十分賢いのですが、GWTコード検証プロセスはすべてを総当たりで検索しているように見えます。

そして、途中でクラスの読み込みを行っている場合、神はそれを助けます。これらの古いサーバー側クラスのいくつかには、静的初期化子などの外部リソースに接続する、私の祖先の古代の罪が含まれています。

この検証を構成して、スキャン対象についてより簡潔にする方法はありますか?

4

2 に答える 2

1

私はEclipse Validatorのドキュメントを調べていました。プロジェクトビルドバリデーターは構成可能なフィルターを許可できると述べています。http://www.eclipse.org/webtools/wst/components/validation/ValidationOverview.html

ただし、GPE ソース コードに関連するものは見つかりません @ http://code.google.com/p/google-plugin-for-eclipse/source/search?q=validator&origq=validator&btnG=Search+Trunk

その間、Preferences -> Validation -> Suspend All Validators を使用して、Eclipse からすべての検証を無効にすることに固執しています。

于 2012-12-27T09:30:07.723 に答える
0

コンパイルした JavaScript ファイルの検証を無効にする必要があります。これは、Eclipse のパフォーマンスの問題に役立ちます: https://stackoverflow.com/a/19909401/1040124

于 2013-11-12T10:12:33.997 に答える