是否可以在 Maven 原型中为 groupId 定义默认值?

Alb*_*ard 3 maven maven-archetype

我目前正在为我们的项目更新 maven 原型,并希望减少用户在使用此原型时必须提供的信息量。例如,groupId 将始终相同。

那么,是否可以在 Maven 原型中为 groupId 定义默认值?

Hau*_*idt 5

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

纳入项目

<artifactId>greattool</artifactId>
<packaging>war</packaging>
<parent>
    <groupId>com.example</groupId>
    <artifactId>master-parent-pom</artifactId>
    <version>0.0.1</version>
</parent>
Run Code Online (Sandbox Code Playgroud)

父 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>
Run Code Online (Sandbox Code Playgroud)

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

如果您使用的构建和测试服务器,你甚至可以设置家长的version-SNAPSHOT自动父POM改变分配到项目的POM。