Tag: maven package

具有显式finalName的Maven将无法正常工作

1.背景 我的maven项目有很多模块和子模块,包含jars和wars ,一切正常。 我也可以在服务器上部署它而没有任何问题。 我决定遵循这个maven命名转换 ,我正在使用project.name和project.build.finalName进行一些测试以获得适当的名称。 我为根工件创建project.name所定义的模式是company-${project.artifactId} ,模块和子模块是${project.parent.name}-${project.artifactId} : 公司的任何伪影的任何-模块1 公司的任何伪影的任何-模块2-任何-submodule1 公司的任何伪影的任何-模块2-任何-submodule2 project.build.finalName的模式是${project.name}-${project.version} : 公司的任何伪影的任何-module1-1.0.jar 公司的任何伪影的任何-模块2-任何-submodule1-2.0.jar 公司的任何伪影的任何-模块2-任何-submodule2-3.0.war 但maven没有生成这些文件,而是给了我一个StackOverflowError 。 2.重现错误的示例 你可以从github克隆这个例子: https : //github.com/pauloleitemoreira/company-any-artifact 在github中,有一个master分支,它将重现此错误。 并且only-modules分支,这是一个使用${project.parent.name}来生成jar finalName的工作示例。 让我们考虑一个带有一个根pom工件,一个pom模块和一个子模块的maven项目。 -any-artifact | |-any-module | |-any-submodule 2.1任何神器 4.0.0 com.company any-artifact pom 1.0-SNAPSHOT company-${project.artifactId} any-module ${project.name}-${project.version} 2.2任何模块 4.0.0 any-artifact com.company 1.0-SNAPSHOT com.company.any-artifact any-module pom ${project.parent.name}-${project.artifactId} any-submodule 2.3 any-submodule 4.0.0 […]