Maven父动态包装类型pom

Maven父动态包装类型pom,maven,jenkins,pom.xml,parent-pom,Maven,Jenkins,Pom.xml,Parent Pom,我正在使用maven(pom家长)构建一个微服务项目。我们还有另一个pom,它读取这个项目pom来创建jenkins build(pom child)。因为它是父项目,所以打包类型是pom。我们在本地不使用Jenkins build pom,也没有访问权限 问题是让它在本地运行,我们将包类型更改为jar,并在部署期间手动将其更改为pom。有时,当jar被推送时,我们会在构建中出错。为了解决这个问题,我创建了个人资料 <profiles> <profile>

我正在使用maven(pom家长)构建一个微服务项目。我们还有另一个pom,它读取这个项目pom来创建jenkins build(pom child)。因为它是父项目,所以打包类型是pom。我们在本地不使用Jenkins build pom,也没有访问权限

问题是让它在本地运行,我们将包类型更改为jar,并在部署期间手动将其更改为pom。有时,当jar被推送时,我们会在构建中出错。为了解决这个问题,我创建了个人资料

<profiles>
    <profile>
        <id>BUILD</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <packaging.type>pom</packaging.type>
        </properties>
    </profile>
    <profile>
        <id>LOCAL</id>
        <properties>
            <packaging.type>jar</packaging.type>
        </properties>
            </profile>
      </profiles>.

建造
真的
聚甲醛
地方的
罐子
.
并由

<packaging>${packaging.type}</packaging>
${packaging.type}
这在本地工作很好,但是当它被推送到Jenkins build时,它会得到一个错误,因为它没有读取包装类型


是否有更好的设计或解决方案。

听起来大错特错。你能更详细地描述一下问题是什么吗?拥有一个父级是一个好主意,可以通过dependencyManagement将依赖项的默认版本移动到这个等等中。此外,定义插件版本…但是为什么需要更改项目的打包?正如我所说,父级pom是由开发人员构建的项目pom。有一个Jenkins的包装pom是由开发人员操作团队编写的。因此,对于他们来说,项目父级pom需要具有封装类型pom。而对于使用项目pom在本地运行的开发人员,需要将类型打包为jar。问题是子pom没有将${packagingType}的值读取为jar或pom。出现了一些问题…包装pom听起来很奇怪…创建一个简单的pom,它继承父pom并在适当的项目中定义您需要的打包…就是这样…不需要走这样奇怪的路。。。