0

私はGWTプロジェクトを持っており、依存関係として社内の他のGWTライブラリを使用したいと考えています。

最終ビルドにソースを含めたくありません。ほとんどのオープンソースGWTライブラリにはJARにソースが含まれていますが、ソースを分離し、それらを使用してコンパイルしてから破棄したいと考えています。

Mavenでこれを行う方法はありますか?

4

3 に答える 3

3

ブラッドの答えは、非常に狭いシナリオで問題を解決します。スコープをprovidedに設定すると、jarがWarのlibにプッシュされるのを完全に回避できます。これは、サーバー側のコードへの「lib」のユースケースで必要になるものではありません。これは通常発生します1)定数。2)DTO/Bean。3)RPCサービスインターフェイス4)ファクトリプロキシ宣言の要求

アプローチを組み合わせる必要があります。

1)純粋にクライアントの「lib」がサーバーのクラウドで使用される可能性がない場合のBradのアプローチ。

2)コードをモジュール化して、定数/DTO/プロキシ/RF関連のインターフェイスと、2つのアーティファクトjarを生成するプロジェクト内のそのようなコードを含めます。

   A) One with classes only - to be used to push stuff in to web-inf/lib i.e scope compile/runtime.

   B) Another with sources/classess - to be used with gwt compilation i.e scope provided.

2つのjarを生成することは冗長に見えるかもしれません。これは私が試した唯一の正しいオプションです。提案される他のオプションがあるかどうかを確認することに熱心です。

于 2012-12-18T03:46:49.227 に答える
3

スコープをに設定しますprovided

<dependency>
  <groupId>com.you.gwt</groupId>
  <artifactId>gwt-ui</artifactId>
  <version>1.0.0</version>
  <scope>provided</scope>
</dependency>
于 2012-12-17T22:59:51.727 に答える
0

GWTには2種類のライブラリ(jarファイルのパッケージ)があります。

  • 「gwt-servlet.jar」のようなサーバー側ライブラリには、jarファイルにソースコードが含まれていないため、pomに次のようなMaven依存関係を追加できます。
<dependency>
  <groupId>com.google.gwt</groupId>
  <artifactId>gwt-servlet</artifactId>
  <version>${gwtVersion}</version>
  <scope>runtime</scope>
</dependency>
  • jarファイルにソースコードを含む「gwt-user.jar」のようなクライアント側ライブラリ。この種のライブラリはwarファイルにパッケージ化する必要がなく、pomに次のようなMaven依存関係を追加できます。
<dependency>
  <groupId>com.google.gwt</groupId>
  <artifactId>gwt-user</artifactId>
  <version>${gwtVersion}</version>
  <scope>provided</scope>
</dependency>

よいひとときを。

于 2012-12-18T10:28:24.783 に答える