gpt4 book ai didi

java - 在 maven3 中设置默认属性。可能的?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:21:39 26 4
gpt4 key购买 nike

是否可以在 maven3 中设置默认属性。我可以通过以下方式从 bash 中获取 CATALINA_HOME

 <properties>
<cargo.tomcat.home>${env.CATALINA_HOME}</cargo.tomcat.home>
</properties>

但如果未设置变量并且我运行求值表达式命令我得到空对象

! mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=cargo.tomcat.home

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Webapp 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-help-plugin:2.1.1:evaluate (default-cli) @ cargo-selenium-springmvc-webapp ---
[INFO] No artifact parameter specified, using 'com.keybroker.spike:cargo-selenium-springmvc-webapp:war:1.0-SNAPSHOT' as project.
[INFO]
null object or invalid expression
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.721s
[INFO] Finished at: Tue Jul 17 16:51:48 CEST 2012
[INFO] Final Memory: 5M/81M
[INFO] ------------------------------------------------------------------------

我有兴趣设置一个默认的 $CATALINA_HOME。我不介意使用其他插件,但最好使用 vanilla maven3。所以我在找什么

if $CATALINA_HOME is set by bash then use it
otherwise if the is a -DcatalinaHome argument passed to maven, then use that
if all else fails, default to XYZ path for $CATALINA_HOME

最佳答案

是的,这是可能的。我已经在 Windows 7 和 Maven 3.0.4 上对此进行了测试。 FOO 是我的示例环境变量。

首先,在POM中添加如下配置文件

<profiles>
<profile>
<id>env.FOO</id>
<activation>
<property>
<name>!env.FOO</name>
</property>
</activation>
<properties>
<env.FOO>default_FOO</env.FOO>
</properties>
</profile>
</profiles>

如您所知,占位符 ${env.FOO} 在 POM 的其他地方使用,将被替换为实际值。提供值的三种方式是:

1)通过设置环境变量

set FOO=env_FOO       (Windows)
export FOO=env_FOO (Bash)

2) 提供命令行参数(这将覆盖环境变量)

mvn -Denv.FOO=cmdline_FOO    (note the env. prefix)

这将覆盖环境值。

3) 不通过任何前面的方法设置FOO,POM中的值将被!env.FOO激活子句code> 并设置为 default_FOO

关于java - 在 maven3 中设置默认属性。可能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11525285/

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