5

したがって、Maven RPM プラグインを使用して、期待どおりに RPM アーティファクトを生成できます。

RPM プラグインがアーティファクトをローカルの m2 リポジトリにインストールするように、pom.xml (pom としてパッケージ化) で attach-rpm ゴールを使用します (パッケージ フェーズにバインドされているため)。

問題: RPM で生成された名前は素晴らしく、次のようになります: code-module-1.0.3-SNAPSHOT20120727095507.amd64.rpm

ただし、maven がこれをローカル リポジトリにインストールすると、次のようになります。

コード モジュール rpm-1.0.3-SNAPSHOT-rpm.rpm

完全な名前、RPM のアーキテクチャ部分を失い、代わりに Maven が名前の末尾の .rpm 拡張子 (定義していない分類子) の前に rpm を追加し、代わりに私の pom アーティファクト ID を rpm 名として使用しています。 rpm 名自体の。

build-helper プラグインを使用して、ターゲット ディレクトリで生成された RPM を指定しようとしましたが、rpm 名が動的に生成され、build-helper プラグインがワイルドカードなどを使用せずに完全なファイル名のみを受け入れるため、これは機能しません。

Mavenの慣習に違反するため、アーティファクトの最終的な名前を変更したくありません。

ここにMavenの出力があります:

[INFO] Installing /home/xzcx/Development/repository/svn/source/parent-project    
/code-module-rpm/target/rpm/code-module/RPMS/amd64/code-module-1.0.3-
SNAPSHOT20120727145507.amd64.rpm to  
/home/xzcx/.m2/repository/com/xpackage/ypackage/codepackage/code-module-rpm/1.0.3-
SNAPSHOT/code-module-rpm-1.0.3-SNAPSHOT-rpm.rpm

何か考えはありますか?

更新: RPM プラグインのサイトには、attached:RPM ゴールを使用すると、さまざまなアーキテクチャなどで複数の RPM を構築できると記載されていることに注意しました...しかし、上記に基づいて、これが機能する唯一の方法は、分類子をRPM 名のアーキテクチャ ビットは、ローカル リポジトリのインストールに引き継がれません。

4

2 に答える 2

-1

私は同じ問題を抱えていますが、私が望む主なことは -rpm を code-module-rpm-1.0.3-SNAPSHOT-rpm.rpm から削除することです。冗長だと感じているからです。次のように名前を付ける必要がありました: code-module-rpm-1.0.3-SNAPSHOT.rpm (少なくとも)

于 2014-06-11T19:12:51.057 に答える