0

私はこの依存関係を持っています(そしてこのような他の多くのもの):

<dependency>
    <groupId>jShrink</groupId>
    <artifactId>jShrink</artifactId>
    <version>3.0.2</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/../kladr-ear/lib/jShrink-3.0.2.jar</systemPath>
</dependency>

では、パッケージ中にMAVENを使用してこのJARをEAR / LIBフォルダーに追加するにはどうすればよいですか?

4

3 に答える 3

1

利用可能なMavenスコープを見ると、これを次のようにマークすることを期待します。

<scope>compile</scope>

jarファイルをリポジトリ(ローカルまたはリモート)にアップロードします。Mavenは、そのアップロードを実行するための適切なコマンドラインを提供する必要があります。

編集:以下に示すように、このスコープはデフォルトであるため、省略できます。

于 2012-11-20T10:40:31.507 に答える
0

EARに入る依存関係は、通常、EJBモジュールに必要な依存関係に基づいている必要があります。コンパイルスコープにライブラリXを備えたEJBモジュールがある場合、Mavenは、EJBが含まれているearにライブラリをパッケージ化するようにトリガーします。イヤーポンでスコープを管理する必要はまったくありません。

EJBがなく、WARのみがある場合は、ライブラリをEARにパッケージ化せず、単にWARの一部としてデプロイします(最終的にはWEB-INF / libになります)。重複が発生する場合でも、Webの依存関係を適切に保ち、モジュールごとに含めるようにします。

また、コンパイルはデフォルトのスコープであるため、依存関係に設定されている別のスコープをオーバーライドする場合を除いて、手動で宣言する必要はありません。

于 2012-11-20T11:44:55.180 に答える
-2

だから私はjarライブラリをear/libパスに置く方法を見つけました。について追加しまし<jarModule>maven-ear-plugin。また、それぞれ<jarModule>に追加しました<bundle>-このjarがコピーされるパス。

于 2012-11-22T09:36:51.270 に答える