3

Maven 3.3 プロジェクトがあり、主な出力は war ファイルです。

<artifactId>pro</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>

私はmavenプラグインを使用して、jarファイルも作成していますtarget/pro-1.0-SNAPSHOT.jar。これは機能します。

この jar をローカルの Maven リポジトリにインストールしたいので、maven install プラグインを使用してこれを行います。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <version>2.5.2</version>
    <configuration>
        <classifier>jar</classifier>
        <packaging>jar</packaging>
        <file>target/pro-1.0-SNAPSHOT.jar</file>
    </configuration>
    <executions>
        <execution>
            <id>do-jar-install</id>
            <phase>install</phase>
            <goals>
                <goal>install</goal>
            </goals>
        </execution>
    </executions>
</plugin>

jar のインストール手順で jar ではなく war がインストールされることを除いて、ビルド全体が正常に機能します。これをオーバーライドするにはどうすればよいですか?

私が使用できるものを確認するためにここを見ています: http://maven.apache.org/plugins/maven-install-plugin/examples/installing-secondary-artifacts.html

ここに私のビルドからのログがあります:

**

jar のビルド: /Users/mike/code/workspace/pro/target/pro-1.0-SNAPSHOT.jar

[INFO] --- maven-install-plugin:2.5.2:install (do-jar-install) @ pro

[情報] /Users/mike/code/workspace/pro/target/pro-1.0-SNAPSHOT.jar を /Users/mike/.m2/repository/net/mikeski/pro/1.0-SNAPSHOT/pro-1.0-SNAPSHOT にインストールします。戦争

最後の行に注意してください - それは瓶を拾っていますが、戦争をインストールしています

どうすれば修正できますか?

要求に応じて、jar プラグイン構成は次のとおりです。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <executions>
        <execution>
            <id>create-jar</id>
            <phase>install</phase>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>

プロジェクト内のファイルの jar が作成されますが、これは正しい jar です。レポにインストールされている戦争をjarにコピーすると(拡張子を変更するだけです)、他のプロジェクトはそれを問題なく取得できます。

4

2 に答える 2