2012-11-07 60 views
2

我目前正在为我们的项目更新Maven原型,并希望减少用户在使用此原型时必须提供的信息数量。比如,groupId总是相同的。是否可以在Maven原型中为groupId定义默认值?

那么,是否有可能为Maven原型中的groupId定义默认值?

+0

[Creating Maven Archetype:有没有办法指定一个默认的groupId](http://stackoverflow.com/questions/14879455/creating-maven-archetype-is-there-a-way-to-指定-a-default-groupid) – gvlasov

回答

4

如果您在固定组织中工作,此值不会在每个项目的基础上更改:使用父POM。通过你的存储库分发它(你使用某种中央存储库,即使它只是一个网络驱动器,是吗?)。

包括在项目

<artifactId>greattool</artifactId> 
<packaging>war</packaging> 
<parent> 
    <groupId>com.example</groupId> 
    <artifactId>master-parent-pom</artifactId> 
    <version>0.0.1</version> 
</parent> 

父POM

<groupId>com.example</groupId> 
<artifactId>master-parent-pom</artifactId> 
<version>0.0.1</version> 
<packaging>pom</packaging> 
<description>Parent POM for our projects, specific project type POMs derive from this.</description> 

所以在项目POM没有组ID,从POM将使用父之一。当然,您将包含父POM替换组ID,但这很有帮助,因为您可以根据组织的特定需求进一步自定义Maven。

如果您使用构建和测试服务器,您甚至可以将父母的version设置为-SNAPSHOT,以便自动将父POM中的更改分发到项目POM。

+0

当然。公司范围的父pom对指定可能使用的库和插件的默认版本也非常有用,从而使构建可重复。 – AutomatedMike

+0

如果目的是“减少用户在使用这个原型时必须提供的信息的数量”,这个答案可能不是那么精确。即使使用公司母公司POM,在使用原型时仍然会要求用户提供groupId。 – rafaelrezend

相关问题