3

私のプロジェクトでは、オープン ソース コードを取得して調整し、依存関係として使用する必要があります。ビルドするときに、分類子を追加したいと思います (変更されたコードと元のコードを区別するため)。以下は、pom.xml のスニペット フォームです。

<plugins>
    <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
            <execution>
                <id>gc-custom</id>
                <goals>
                    <goal>jar</goal>
                </goals>

                <configuration>
                    <classifier>gc</classifier>
                </configuration>
            </execution>
        </executions>
    </plugin>
</plugins>  

私の問題は、ビルドを起動した後、maven が両方の jar ファイル (分類子が添付されている場合と添付されていない場合) を生成することです。つまり、出力には「atlassian-pageobjects-api-2.1-m14.jar」、「atlassian-pageobjects-api-」という名前の 2 つの jar ファイルが含まれます。 2.1-m14-gc.jar".

次のコマンドを使用してビルドしています。

mvn クリーン インストール

ここで何が問題なのか教えてください。

4

1 に答える 1

7

ドキュメントを見ると、追加のjarを生成するために分類子が使用されているようです。

ここを参照してください:

/ または / を追加して含めるまたは除外するファイルセット パターンのリストを指定し、pom.xml に分類子を追加します。

注: jar-plugin は新しい実行で定義する必要があります。そうしないと、2 番目のアーティファクトを追加する代わりに、jar-plugin のデフォルトの使用が置き換えられます。分類子は、複数のアーティファクトを作成するためにも必要です。

<id>したがって、ドキュメントごとに、実行に提供しないと、デフォルトのjarメカニズムが上書きされ、-gc.jar付録付きの単一のjarが提供されるように聞こえます。しかし、そうではありません。あなたは常に2つの瓶で終わります。

少しハックしました。デフォルトのプラグイン idを使用して、デフォルト設定をオーバーライドできます。それで、これが私に名前付きの単一のjarを与えるものです-gc.jar

<ビルド>
  <プラグイン>
    ...
    <プラグイン>
        <artifactId>maven-jar-plugin</artifactId>
        <実行>
            <実行>
                <id>default-jar</id>
                <フェーズ>パッケージ</フェーズ>
                <目標>
                    <goal>瓶</goal>
                </目標>
                <構成>
                    <classifier>gc</classifier>
                </設定>
            </実行>
        </実行>
    </プラグイン>
  </プラグイン>  
</ビルド>
于 2012-10-25T04:36:01.217 に答える