1

EJB モジュールを含むプロジェクトに取り組んでいます。バージョン番号がないため、このモジュールが Maven リポジトリ (Nexus) に入らないという問題がありました。現在、これを修正しようとしていますが、思い通りにできないようです。

EJB プロジェクトの pom.xml で:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-ejb-plugin</artifactId>
    <configuration>
      <ejbVersion>3.0</ejbVersion>
      <outputDirectory>${basedir}/target/classes </outputDirectory>
      <jarName>MyProjectEJB</jarName>
      <generateClient>true</generateClient>
      <archive>
        <manifest>
          <addClasspath>true</addClasspath>
        </manifest>
      </archive>
    </configuration>
  </plugin>

これが本来のやり方です。モジュールをビルドすると、MyProjectEJB.jar と MyProjectEJB-client.jar の 2 つの .jar ファイルが作成されました。バージョン番号を追加するために次のことを試しました。

    <jarName>MyProjectEJB-${project.version}<jarName>

これで、MyProjectEJB-4.1-SNAPSHOT.jar と MyProjectEJB-4.1-SNAPSHOT-client.jar のようなものが得られます。これはほぼ正しいのですが、クライアントのバージョン番号も最後にしたいです (MyProjectEJB-client-4.1-SNAPSHOT)。

どうすればこれを達成できますか?

4

1 に答える 1

2

clientこの場合、Maven 分類子です。

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

名前の中で移動すると、正しい依存関係を持つことができなくなります。

次の依存関係は EJB を使用します。

<dependency>
    <groupId>your.group</groupId>
    <artifactId>MyProjectEJB</artifactId>
    <version>1.0</version>
</dependency>

次の依存関係は、EJB クライアントを使用します。

<dependency>
    <groupId>your.group</groupId>
    <artifactId>MyProjectEJB</artifactId>
    <version>1.0</version>
    <classifier>client</classifier>
</dependency>
于 2012-10-09T10:26:31.733 に答える