1

私のプロジェクトには、最終的な jar ファイルに統合する必要があるいくつかのクラスが含まれています。

したがって、私の現在の「ワークフロー」は次のようになります。

mvn compile && jar uf contribution.jar -C target/classes .

これは maven-jar プラグインまたは maven-assemblies を使用して実行できると思いますが、方法がわかりません。

4

1 に答える 1

2

シンプル - に要素<packaging>jar</packaging>を追加しpom.xml、次を呼び出します。

mvn package

詳細については、 Maven ビルド ライフサイクルを参照してください。プロジェクトで Maven を使用する予定がある場合は、必読です。

編集

更新してくれてありがとう、私はあなたが何を意味するかを理解しています。これを行うより良い方法があるかもしれませんが、これは私が使用するものです:

通常の方法で依存関係として追加すると、Maven はこの jar を自動的に含めます。

<dependencies>
    ...
    <dependency>
        <groupId>some.group</groupId>
        <artifactId>contribution</artifactId>
        <version>1.0.0</version>
    </dependency>
    ...        
</dependencies>

問題は、maven が確実に jar ファイルを見つけられるようにする方法です。jar が Maven グローバル リポジトリにある場合は、自動的に検出されるため、常に最初に確認してください。そうでない場合は、独自のリポジトリを作成してカスタム jar を保存する必要があります。これは最も賢明な方法ではないかもしれませんが、私のやり方です。これは、フォルダーに格納されているキャッシュとは異なることに注意してください。.m2

c:\maven\repo をローカルとして使用したいとしましょう。これを行うには、最初にフォルダーが存在することを確認してから、次の行を に追加しますpom.xml

<repositories>
    <repository>
        <id>my-repo</id>
        <url>file://c:\maven\repo</url>
    </repository>
</repositories>

次に、コントリビューション jar をこのリポジトリに手動で追加する必要があります。これを行うには、mvn deploy:deploy-fileコマンドを実行して適切な値を指定します。詳しくはこちらをご覧ください。

元のプロジェクトをビルド/コンパイル/パッケージ化するとき、依存関係であるため、パッケージングにcontribution.jarを含める必要があります。

お役に立てれば :)

于 2013-05-17T13:42:13.870 に答える