2016-11-11 13 views
0

core-servicesというプロジェクトがあります。私はcore-services-server jarファイルを構築し、今のところ入って、すべてのJUnitクラス デフォルトで分類子を持つjarを作成します

  • core-services-client
  • core-services-serverすべてのクライアントクラス
  • が含まれています:含まれるすべてのサーバーおよびクライアントクラス
  • core-services-test
  • これが3瓶を構築しますアセンブリを使用して clienttest jarsを構築します。開発者がクライアントまたはテスト用のjarファイルを使用する場合は、クラシファイアを指定する必要があります。ただし、サーバーjarに依存したい場合は、分類子を指定しません。

    これは、実際にクライアントjarを使用する必要があるときにサーバーjarを使用する開発者につながります。私は3つのjarをビルドして、それらを依存関係として使用するときに分類子を必要としたいと思います。プロジェクトを指定する場合しかし、私はこれを行うことはできません。

    <groupId>com.vegicorp</groupId> 
    <artifactId>core-services</artifactId> 
    <version>1.0.0</version> 
    <classifier>server</classifier> 
    <packaging>jar</packaging> 
    

    は、私は、デフォルトの瓶core-services-serverを呼び出すために<finalName>を使用することができます知っているが、私は確かに、開発者がcore-servicesに依存している場合、彼らはしなければならないことをしたいですサーバー、クライアント、またはテストクラスが必要かどうかを指定します。名前を変更しただけでは、デフォルトでサーバーjarが取得されます。

    デフォルトのjarの分類子がserverであるように指定するにはどうすればよいですか?

答えて

0

私はそれを理解しました。私は私のpom.xmlmaven-jar-plugin設定にデフォルトの分類器を置くことができます。

<plugin> 
    <artifactId>maven-jar-plugin</artifactId> 
    <!-- All other configuration information is in the parent pom --> 
    <configuration> 
     <classifier>server</classifier> 
    </configuration> 
</plugin> 

私はmvn deployを行うと、私は分類して展開No primary artifact to deploy, deploying attached artifacts instead、およびすべての3つのjarファイル警告を取得します。

+0

JARプラグインの最新バージョン(3.0.2)でエラーが発生します。あなたのプロジェクトは、すべてがアーティファクトが添付されている場合、 'pom'パッケージでなければなりません。 – Tunaki

関連する問題