1

I would like to know if there is a best way to group maven projects.

If I have more than 1 pom project, how is the best way to set them?

Solution 1:
groupid:parent:version (pom)
    groupid.parent:child:version (jar)
    groupid.parent:subproject:version (pom)
        groupid.parent.subproject:childOne:version (jar)
        groupid.parent.subproject:childTwo:version (jar)
        groupid.parent.subproject:childThree:version (jar)

Solution 2:
groupid:parent:version (pom)
    groupid:parent-child:version (jar)
    groupid:parent-subproject:version (pom)
        groupid:parent-subproject-childOne:version (jar)
        groupid:parent-subproject-childTwo:version (jar)
        groupid:parent-subproject-childThree:version (jar)

Any other options?!?

4

1 回答 1

1

我更喜欢解决方案 1中描述的模块组织。请注意,使用这种方法,您可能会遇到(或预期)一些命名冲突......大多数 Maven 插件都会礼貌地缓解这些冲突。例如:

  • 您的 Maven 生态系统中有一个名为some.groupId:service:1.0.0的全局库
  • 然后在您的一个 Maven 多模块项目中,一个名为another.groupId:service:1.0.0的人工制品

现在假设您有一个依赖于上述两个服务工件的 Maven Web 应用程序模块。当 maven-war-plugin 将依赖项复制到 WEB-INF/lib 目录时,它足够聪明地发现服务jar 文件名冲突并重命名每个 jar 以包含它们的 groupId。

我知道那是很多额外的信息,但有些人不知道这一点 Maven 战争情报......

于 2013-05-02T18:38:57.050 回答