gpt4 book ai didi

maven-2 - 指示父目录的 Maven2 属性

转载 作者:行者123 更新时间:2023-12-03 04:51:22 24 4
gpt4 key购买 nike

我有一个多模块项目,例如这个:

main-project/
module1/
module2/
sub-module1/
sub-module2/
sub-module3/
...
module3/
module4/
...

我需要在 Maven2 中定义一组属性(取决于我想要发布项目的环境)。我不会使用<properties>因为有很多属性...因此,我使用Properties Maven2 plugin .

属性文件位于 main-project/目录。如何在主 pom.xml 中设置正确的目录,以便指定任何子项在哪里查找属性文件?

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-1</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>???/env_${env}.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>

如果我只设置<file>env_${env}.properties</file> ,那么当Maven2编译第一个模块时,就找不到main-project/env_dev.properties了文件。如果我设置<file>../env_${env}.properties</file> ,那么将在父级别或任何子模块级别引发错误...

最佳答案

尝试在每个 pom 中设置一个属性来查找主项目目录。

在父级中:

<properties>
<main.basedir>${project.basedir}</main.basedir>
</properties>

在 children 中:

<properties>
<main.basedir>${project.parent.basedir}</main.basedir>
</properties>

在孙子中:

<properties>
<main.basedir>${project.parent.parent.basedir}</main.basedir>
</properties>

关于maven-2 - 指示父目录的 Maven2 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1012402/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com