【问题标题】:Giving arguments to maven resources goal from eclipse从 Eclipse 为 Maven 资源目标提供论据
【发布时间】:2011-08-31 04:02:33
【问题描述】:

我将 Maven2 和 Tomcat 插件用于 Eclipse,用于部署为 Tomcat 应用程序的 java 项目。我有几个针对不同目标的运行配置,但我有一个特别是按顺序执行多个目标:

clean resources:resources compile war:war tomcat:deploy

我希望我的一个资源 xml 文件具有特定于构建的配置值,例如开发构建与生产构建。 resources:resourcesstep 应该允许我在 xml 中将值设置为 {tags},并且我可以通过命令行来执行此操作,因为它是自己的步骤:

<test var="{foo}">

运行 mvn resources:resources -Dfoo='bar' 在目标目录中生成以下内容

<test var="bar">

在 eclipse 的运行配置管理 gui 中,有参数和值的插槽,但我找不到正确的参数组合/咒语以获得与命令行调用相同的效果。

有人知道怎么做吗? 当然,也会接受“你做错了”(因为我可能是)“就这样吧。”

谢谢!

【问题讨论】:

    标签: eclipse maven-2 tomcat7


    【解决方案1】:

    您可以使用 Eclipse 中 Maven Build 运行配置的参数部分传入最终用作 Maven properties 的参数(我假设您使用的是 Eclipse M2E plugin)。

    以下屏幕截图演示了我最终在 Maven POM 中使用的 {jacoco.agent.path} 属性是如何从运行配置中指定的:

    【讨论】:

    • 是的,但是 maven 构建不运行 tomcat。至少我不知道如何得到它。
    • 谢谢!最好提一下以这种方式指定的参数不需要 -D 前缀,但您仍然需要将任何反斜杠加倍(例如 C:\\path\\to\\location
    【解决方案2】:

    如果您转到运行配置 > Apache Tomcat > [您的 tomcat] > 参数选项卡 > VM 参数 并添加 -Dfoo="bar",它应该可以工作。

    在它捡起之前我不得不停下来启动并清理几次,但它最终对我有用。

    【讨论】:

    • 另外,请确保您可以从命令行覆盖。如果不能,请切换到具有此功能的 Maven 资源插件版本。对我来说,2.5 不允许从 CLI 覆盖属性,但 2.4 允许。
    猜你喜欢
    • 2013-09-02
    • 2016-07-08
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    • 1970-01-01
    • 2014-04-30
    相关资源
    最近更新 更多