根据 pom 中的活动轮廓更改包装

2022-09-01 00:44:48

我有一个项目,我用maven编译。我在pom.xml中声明了不同的配置文件。对于其中一些配置文件,我更喜欢构建战争,而对于其他配置文件,我更喜欢罐子。我用于手动编辑pom.xml文件并将打包变量更改为

<packaging>war</packaging>

<packaging>jar</packaging>

在做之前

$ mvn clean package -Pchosenprofile

我如何告诉mvn对应于每个配置文件的包装,这样我就不需要编辑pom.xml?


答案 1

如果你想使用配置文件,你可以使用如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<project>
    <modelVersion>4.0.0</modelVersion>
    ..
    <packaging>${packaging.type}</packaging>

    <profiles>
        <profile>
            <id>webapp</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <packaging.type>war</packaging.type>
            </properties>
        </profile>
        <profile>
            <id>batch</id>
            <properties>
                <packaging.type>jar</packaging.type>
            </properties>
                </profile>
          </profiles>
</project>

答案 2

你有没有看过 war 插件的 attachClasses 配置设置?这个简单的设置将允许您在单个 maven 执行中同时构建 war 和 jar(默认情况下使用分类器“classes”)。


推荐