2013-08-01 69 views
2

我有一种情况,我必须读取某个属性文件,然后调用外部程序。Maven:使用Exec Maven插件和读取项目属性

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

而在我目前的情况下,我无法将exec:exec绑定到任何特定阶段(这是因为所有其他阶段都有非常具体的工作要处理,而我试图用exec执行:exec映射到这些阶段中的任何一个阶段,这是我试图做的更独立的事情)。

,我发现的唯一的解决方法是调用mvn validate exec:exec,它的作品,但我的问题是:

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

回答

1

你可以使用配置文件只在某些情况下/某些环境绑到一个特定的阶段,但

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

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

真正创造一个属于自己的新的生命周期阶段,似乎可能的,虽然不容易:

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

说实话,我会跟你在命令行中坚持,要求验证,然后EXEC。我不知道有任何副作用,正如你所说,这只是一个本地的,独立的任务。

+0

谢谢你的回答格雷厄姆。我其实想过使用一个单独的配置文件。我不喜欢这件事的唯一情况是我复制了我的属性插件(一次是当前位置,另一个位于配置文件中)。我希望看到是否有一个更清洁的解决方案,走这条路。 – Sujay

相关问题