0

次のように、モジュールの 1 つの pom にビルド番号プラグインを追加しました。

<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <version>1.0-beta-4</version>
        <executions>
            <execution>
                <phase>validate</phase>        
                <goals>
                    <goal>create</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <doCheck>false</doCheck>
            <doUpdate>true</doUpdate>
            <format>${project.version}.{0,number}</format>
            <items>
                <item>buildNumber</item>
            </items>
        </configuration>
    </plugin>

また、ビルドされた jar がフォルダー ./ 内に保持されることを試みました。また、jar プラグインを次のように使用して、jar のバージョン名にビルド番号が追加されます。

<plugin>

    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
      <archive>
        <manifest>
          <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
        </manifest>
        <manifestEntries>
          <Implementation-Build>${buildNumber}</Implementation-Build>
        </manifestEntries>
      </archive>
      <outputDirectory>target/${buildNumber}</outputDirectory>
    </configuration>
</plugin>

ビルドは正常に動作し、jar は target//myjar-.jar としてターゲット内に作成されます (バージョンが 1.0 であると仮定し、ビルド番号は 1 から始まるビルドごとに増分されます)。ただし、ローカル リポジトリでは、jar は package//myjar- として格納されます。 .jar 、つまりビルド番号がそこに追加されていません。これを達成する方法はありますか?ありがとう。

4

1 に答える 1

2

あなたの質問を正しく理解していれば、ローカルリポジトリのファイル名があなたが望むものではないことを除いて、すべてがうまくいくようです(ターゲットディレクトリのアーティファクト、マニフェストなど)。

もしそうなら、そして私の記憶が正しければ、それはまさにそれがうまくいくはずです. ローカル/リモート リポジトリのアーティファクト ファイル名は、アーティファクト名、バージョン番号、修飾子と修飾子、およびスナップショットの場合はタイムスタンプに従って生成されます。ターゲットディレクトリの出力ファイル名とは関係ありません。

于 2012-05-18T15:23:45.810 に答える