Maven:从属性文件中设置 pom.xml 中的属性

2023-11-26

我有一个多模块项目,对不同模块版本有很多依赖性。目前版本是硬编码的,需要手动更改它们。因此,我决定将它们全部放入属性文件中,并在项目构建期间从中获取属性值。

我尝试这样做的方法如下:

根pom.xml

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>properties-maven-plugin</artifactId>
    <version>1.0-alpha-2</version>
    <executions>
        <execution>
            <phase>initialize</phase>
            <goals>
                <goal>read-project-properties</goal>
            </goals>
            <configuration>
                <files>
                    <file>./version.properties</file>
                </files>
            </configuration>
        </execution>
    </executions>
</plugin>

文件版本.properties

module1.version=1.1
module2.version=1.8
module3.version=5.4

模块 pom.xml 的示例

<properties>
    <module1.project.version>${module1.version}</module1.project.version>
</properties>

<parent>
    <groupId>com.mymodule</groupId>
    <artifactId>test</artifactId>
    <version>${module1.version}</version>
    <relativePath>../pom.xml</relativePath>
</parent>

构建失败并显示:

未能执行目标 org.codehaus.mojo:build-helper-maven-plugin:1.7:解析版本 项目 ccm-agent 上的(解析版本):执行解析版本 目标 org.codehaus.mojo:build-helper-maven-plugin:1.7:parse-version 失败的。 NullPointerException -> [帮助 1] org.apache.maven.lifecycle.LifecycleExecutionException:失败 执行目标 org.codehaus.mojo:build-helper-maven-plugin:1.7:解析版本 项目 ccm-agent 上的(解析版本):执行解析版本 目标 org.codehaus.mojo:build-helper-maven-plugin:1.7:parse-version 失败的。

如何从文件中读取一些属性并以正确的方式配置 pom.xml?


最后看起来非常简单。我用了initialize阶段。将其更改为validate解决了问题:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>properties-maven-plugin</artifactId>
    <version>1.0-alpha-2</version>
    <executions>
        <execution>
            <phase>validate</phase>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Maven:从属性文件中设置 pom.xml 中的属性 的相关文章

随机推荐