Maven:使用Exec Maven插件并读取项目属性

时间:2013-08-01 18:18:39

标签: maven

我的情况是我要读取某个属性文件然后调用外部程序。

但是,如果我调用“mvn exec:exec”,则不会调用验证阶段,因此不会读取属性。

在我目前的场景中,我无法将exec:exec绑定到任何特定阶段(这是因为所有其他阶段都有非常具体的工作要处理以及我正在尝试使用exec执行的操作:exec不会映射对于这些阶段中的任何一个阶段。我试图做的事情更像是一个独立的事情。)

我找到的唯一解决方法是拨打mvn validate exec:exec,这有效但我的问题是:

  1. 将阶段和目标混合作为maven执行的一部分是一个好主意吗?
  2. 或者我有办法让exec插件读取属性吗?

1 个答案:

答案 0 :(得分:1)

您是否可以使用配置文件将其绑定到特定阶段,但仅在某些情况下/特定环境

http://maven.apache.org/guides/introduction/introduction-to-profiles.html

您可以使用用户或环境变量,或明确使用特定的配置文件来触发您选择的配置文件。然后在这个新的配置文件中,您可以重新定义为您自己创建一个阶段。

真正创建自己的新生命周期阶段似乎是可能的,虽然不容易:

https://community.jboss.org/wiki/CreatingACustomLifecycleInMaven?_sscc=t

老实说,我坚持使用命令行,调用validate然后执行exec。我不知道有任何副作用,正如你所说,它只是一个本地的,独立的任务。