4

Gradle がアーティファクトをビルドして正しい jar をデプロイできるように、多層 GWT/Spring プロジェクトを構築する方法についてアドバイスが必要です。

Google はあまり役に立ちませんでした。マルチプロジェクトのビルドと実際に Gradle での GWT プロジェクトのビルドに関する記事を多数見つけることができます。以下の問題。

  1. マルチプロジェクトの例では、GWT の依存関係が war プラグインから Web アプリケーションに含まれています。

  2. 単一のgradleビルドルートをたどると、プロジェクトとの分離が失われます..

  3. クライアントとサーバーの両方が特定のクラス ファイル (GWT-RPC 用) に依存しています。現在、これらはクライアント プロジェクトにパッケージ化されているため、(GWT-RPC DTO オブジェクトの場合) クライアントに対するサーバーの依存関係が生じています。ソースは gwt-client プロジェクトにも存在します (GWT コンパイラーがこれらを取得するため)。

そう; 問題は、Gradle をビルド ツールとして使用し、上記の問題の一部またはすべてを処理する多層 GWT の例に出くわした人はいますか?

前もってありがとう、イアン。

4

1 に答える 1

1

単一のビルドを使用していますが、 Classcycle Maven 依存関係プラグインを使用して、ポイント 2 の「プロジェクトの結合」に対応しています。

最終的には、サーバー、クライアント、共有の 3 つのジャンルのコードが必要になります。それらを個別の jar に個別にパッケージ化する利点 (ポイント 3 で述べたように) は、サーバーの jar サイズが小さくなり、.gwt.xmlファイルでより自由なソース ディレクトリを使用できることです。

単一の jar/war を使用することにした場合は、余分な未使用のクライアント クラスをサーバーに含めることになります。これにより、コード漏洩による実行時例外が発生し、(潜在的に?) サーバーのパフォーマンスが低下する可能性があります。ビルド時に (Classcycle を使用して) レイヤ分離を強制することでランタイム例外を回避し、余分なクライアント クラスによる余分なパフォーマンス オーバーヘッドを最小限に抑える必要があります。ビルド後のタスクを使用して、コンパイル後にいつでも jar からクライアント コードを取り除くことができます。

申し訳ありませんが、私はgradleについてあまり知りませんが、とにかく助けようと思っていました.

于 2012-11-07T01:51:26.033 に答える