5

32ビットと64ビットのWindowsと32ビットと64ビットのLinuxの4つのバージョンがあるライブラリがあります。Mavenリポジトリにアップロードするときに、各ライブラリの名前を把握しようとしています。今のところ私は持っています:

  <!--windows 32bit -->
  <groupId>com.lib-name.win</groupId>
  <artifactId>lib-name</artifactId>
  <classifier>x86<classifier>
  <version>10</version>

  <!--windows 64bit -->
  <groupId>com.lib-name.win</groupId>
  <artifactId>lib-name</artifactId>
  <classifier>x86-64<classifier>
  <version>10</version>

  <!--linux 32bit -->
  <groupId>com.lib-name.nix</groupId>
  <artifactId>lib-name</artifactId>
  <classifier>x86<classifier>
  <version>10</version>

  <!--linux 64bit -->
  <groupId>com.lib-name.nix</groupId>
  <artifactId>lib-name</artifactId>
  <classifier>x86-64<classifier>
  <version>10</version>

この場合、Mavenのjarに名前を付けるためのより標準的な方法はありますか?それとも私は正しい方向に進んでいますか?

4

2 に答える 2

3

http://maven.apache.org/pom.htmlから:

分類子: 分類子を使用すると、同じPOMから作成されたが、内容が異なるアーティファクトを区別できます。アーティファクト名のバージョン番号の直後に(存在する場合)追加されるのは、オプションの任意の文字列です。

この要素の動機として、たとえば、JRE 1.5を対象とするアーティファクトを提供すると同時に、JRE1.4を引き続きサポートするアーティファクトを提供するプロジェクトについて考えてみます。最初のアーティファクトには分類子jdk15を装備し、2番目のアーティファクトにはjdk14を装備して、クライアントがどちらを使用するかを選択できるようにすることができます。

後者の段落は、分類子があなたが考えている種類のタスクを実行することを意図していることを示唆しています。

ただし、私の経験では、私が遭遇したほとんどのプロジェクトは、プロジェクトの各静脈に対して個別のアーティファクトをリリースします。私は個人的にそのアプローチを好みますが、それは好みの問題です。

于 2012-12-11T15:23:43.193 に答える
0

同じグループとアーティファクトIDを異なる分類子で使用するのが最もクリーンなアプローチだと思います。ソースjarがMavenソースプラグイン(単なる別の分類子)によってどのようにリリースされるかを考えてください。これも見てください:

さまざまな構成の1つのアーティファクト

于 2012-12-19T19:35:01.823 に答える