私はGWTプロジェクトを持っており、依存関係として社内の他のGWTライブラリを使用したいと考えています。
最終ビルドにソースを含めたくありません。ほとんどのオープンソースGWTライブラリにはJARにソースが含まれていますが、ソースを分離し、それらを使用してコンパイルしてから破棄したいと考えています。
Mavenでこれを行う方法はありますか?
ブラッドの答えは、非常に狭いシナリオで問題を解決します。スコープを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を生成することは冗長に見えるかもしれません。これは私が試した唯一の正しいオプションです。提案される他のオプションがあるかどうかを確認することに熱心です。
スコープをに設定しますprovided
<dependency>
<groupId>com.you.gwt</groupId>
<artifactId>gwt-ui</artifactId>
<version>1.0.0</version>
<scope>provided</scope>
</dependency>
GWTには2種類のライブラリ(jarファイルのパッケージ)があります。
<dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-servlet</artifactId> <version>${gwtVersion}</version> <scope>runtime</scope> </dependency>
<dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-user</artifactId> <version>${gwtVersion}</version> <scope>provided</scope> </dependency>
よいひとときを。