【问题标题】:Maven: Using Exec Maven Plugin and reading project propertiesMaven:使用 Exec Maven 插件并读取项目属性
【发布时间】:2013-08-02 19:43:18
【问题描述】:

我有一种情况,我必须读取某个属性文件,然后调用外部程序。

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

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

我发现的唯一解决方法是调用mvn validate exec:exec,这可行,但我的问题是:

  1. 在 Maven 执行中混合阶段和目标是否是个好主意?
  2. 或者有没有办法让 exec 插件读取属性?

【问题讨论】:

    标签: maven


    【解决方案1】:

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

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

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

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

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

    说实话,我会坚持使用你的命令行,调用 validate 然后 exec。我不知道有什么副作用,正如你所说,这只是一个本地的、独立的任务。

    【讨论】:

    • 感谢您的回答格雷厄姆。我实际上想过使用单独的配置文件。我唯一不喜欢的是我正在复制我的属性插件(一次在当前位置,另一个在配置文件中)。我希望看看是否有更清洁的解决方案走这条路。
    猜你喜欢
    • 2010-11-06
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 2016-08-01
    • 2014-01-28
    • 2013-06-06
    • 2016-01-31
    • 1970-01-01
    相关资源
    最近更新 更多