1

設定が必要な一部の機能に問題があります。
これは私の POM の一部です。ここでは、FirstNameProject-VERSION-bin.zip と SecondNameProject-VERSION-bin.zip という 2 つの異なるファイルにプロジェクトをアセンブルするように構成しました。元のアーティファクトが一般的であっても、これらの名前セットを維持する必要があったという考えです。

<?xml version="1.0" encoding="UTF-8"?>

http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0

<groupId>com.project.my</groupId>
<artifactId>MyGenericProject</artifactId>
<name>Generic Project</name>

<version>2.0.2-SNAPSHOT</version>
...
<build>
     <plugins>
        ....
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2.1</version>
            <executions>
                <execution>
                    <id>first</id>
                    <configuration>
                        <finalName>FirstNameProject-${project.version}-bin</finalName>
                        <appendAssemblyId>false</appendAssemblyId>
                        <descriptors>
                            <descriptor>src/main/assembly/resources_first.xml</descriptor>
                        </descriptors>
                    </configuration>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
                <execution>
                    <id>second</id>
                    <configuration>
                        <finalName>FirstNameProject-${project.version}-bin</finalName>
                        <appendAssemblyId>false</appendAssemblyId>
                        <descriptors>
                            <descriptor>src/main/assembly/resources_second.xml</descriptor>
                        </descriptors>
                    </configuration>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>                   
            </executions>
        </plugin>
    </plugins>
</build>

これは適切に機能しており、mvn packageログで次のことを確認できます。

[INFO] --- maven-assembly-plugin:2.2.1:single (first) @ MyGenericProject ---
[INFO] Reading assembly descriptor: src/main/assembly/resources_first.xml
[INFO] Building zip: C:\MyPath\MyProject_trunk\target\FirstNameProject-2                                                                   .0.2-bin.zip
[INFO]
[INFO] --- maven-assembly-plugin:2.2.1:single (second) @ MyGenericProject ---
[INFO] Reading assembly descriptor: src/main/assembly/resources_second.xml
[INFO] Building zip: C:\MyPath\MyProject_trunk\target\SecondNameProject-2.0                                                                   .2-bin.zip

問題は、インストール中に、一般的な名前に戻り、正しい名前のファイルを一般的なファイルとしてインストールすることです!

[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ MyGenericProject --- [INFO] C:\MyPath\MyProject_trunk\target\MyGenericProject-2.0.2-SNAPSHOT.jar のインストール先C:.m2\repository\com\project\my\MyGenericProject\2.0.2-SNAPSHOT\MyGenericProject-2.0.2-SNAPSHOT.jar [情報] C:\MyPath\MyProject_trunk\pom.xml を C:.m2\ にインストールrepository\com\project\my\MyGenericProject\2.0.2-SNAPSHOT\MyGenericProject-2.0.2-SNAPSHOT.pom [INFO] C:\MyPath\MyProject_trunk\target\FirstNameProject-2.0.2-SNAPSHOT-bin.zip をインストールしていますC:.m2\repository\com\project\my\MyGenericProject\2.0.2-SNAPSHOT\MyGenericProject-2.0.2-SNAPSHOT.zip

これは、アセンブリ プラグインがどのように構成されたかをインストール プラグインが正確に把握していないためだと想像しています。リポジトリにVERSION-bin.zipがインストールされていますか??

私は十分に明確だったと思います、ありがとう

4

1 に答える 1

1

Maven がアセンブリ アーティファクトをデフォルト名でプロジェクトに「アタッチ」しているようです。最初のオプションは、アセンブリ プラグインの構成を精査して、これを制御する方法があるかどうかを確認することです。自分で調べてみると、これを行う方法がわかりません。私はそれがあなたの最終的な名前の構成を使用したと思っていたでしょうが、そうでない場合はそうではありません.

私が提供できる回避策は、誰かがより標準的なものを提供できることを願っていますが、それ自体をアタッチしないようにアセンブリを構成することです

次に、それが作成するファイル、必要な名前のファイルを取得し、build-helper プラグインを使用して、必要な正確な座標の下にファイルを添付します。

于 2013-01-25T16:40:19.283 に答える