我们有一个名为core-services
的项目。这构建了三个罐子:
core-services-client
包含所有客户端类core-services-server
:包含所有服务器和客户端类core-services-test
:包含所有junit类现在,我默认构建core-services-server
jar,然后使用程序集构建client
和test
jar。如果开发人员想要使用客户端或测试jar,他们必须指定分类器。但是,当他们想要依赖服务器jar时,他们不会指定分类器。
这将导致开发人员在他们真正应该使用客户端jar时只使用服务器jar。我想在将它们用作依赖项时构建所有三个罐子以要求分类器。但是,在指定项目时我不能这样做:
<groupId>com.vegicorp</groupId>
<artifactId>core-services</artifactId>
<version>1.0.0</version>
<classifier>server</classifier>
<packaging>jar</packaging>
我知道我可以使用<finalName>
来调用默认jar core-services-server
,但我想确保如果开发人员依赖于core-services
,他们必须说明他们是否需要服务器,客户端或测试类。如果我只是重命名它,默认情况下它们将获得服务器jar。
如何指定默认jar的分类器为server
?
答案 0 :(得分:0)
我明白了。我可以将默认分类器放入maven-jar-plugin
中的pom.xml
配置中:
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<!-- All other configuration information is in the parent pom -->
<configuration>
<classifier>server</classifier>
</configuration>
</plugin>
当我执行mvn deploy
时,我得到{em>警告 No primary artifact to deploy, deploying attached artifacts instead
,并且所有三个jar都使用分类器进行部署。