我的情况是我要读取某个属性文件然后调用外部程序。
为了阅读属性文件,我正在使用Properties Maven Plugin,在验证阶段使用read-project-properties
执行外部程序我正在使用Exec Maven Plugin,调用exec:exec
目标
但是,如果我调用“mvn exec:exec”,则不会调用验证阶段,因此不会读取属性。
在我目前的场景中,我无法将exec:exec绑定到任何特定阶段(这是因为所有其他阶段都有非常具体的工作要处理以及我正在尝试使用exec执行的操作:exec不会映射对于这些阶段中的任何一个阶段。我试图做的事情更像是一个独立的事情。)
我找到的唯一解决方法是拨打mvn validate exec:exec
,这有效但我的问题是:
答案 0 :(得分:1)
您是否可以使用配置文件将其绑定到特定阶段,但仅在某些情况下/特定环境?
http://maven.apache.org/guides/introduction/introduction-to-profiles.html
您可以使用用户或环境变量,或明确使用特定的配置文件来触发您选择的配置文件。然后在这个新的配置文件中,您可以重新定义为您自己创建一个阶段。
真正创建自己的新生命周期阶段似乎是可能的,虽然不容易:
https://community.jboss.org/wiki/CreatingACustomLifecycleInMaven?_sscc=t
老实说,我坚持使用命令行,调用validate然后执行exec。我不知道有任何副作用,正如你所说,它只是一个本地的,独立的任务。