【问题标题】:Howto pass Java system properties to maven-cargo container如何将 Java 系统属性传递给 maven-cargo 容器
【发布时间】:2011-06-10 00:02:34
【问题描述】:

我正在准备一个用于持续集成的 maven2 Web 项目。在运行集成测试之前,我使用maven cargo plugin 自动将 WAR 部署到 Tomcat6x。

我的代码依赖于使用MAVEN_OPTS=-Dfoo=bar 设置的一些系统属性。不幸的是,当应用程序部署到 Tomcat 时,这些属性丢失了:

System.getProperty("foo"); // null, when deployed to container by maven-cargo

如何将这些属性传递给 Tomcat?

【问题讨论】:

    标签: java testing maven-2 continuous-integration maven-cargo


    【解决方案1】:

    您应该可以通过在插件的容器定义中使用 systemProperties 标签来做到这一点:

          <container>
            [...]
          <systemProperties>
            <MAVEN_OPTS>-Dfoo=bar</MAVEN_OPTS>
          </systemProperties>
        </container>
    

    或者您可以在 $CATALINA_HOME/bin/ 目录中的 setenv.sh(在 linux 上)文件中设置它。如果此文件不存在,您应该创建它并添加以下行:

    MAVEN_OPTS=-Dfoo=bar
    

    希望这会有所帮助。

    【讨论】:

    • 啊,谢谢!我尝试使用 但我一定做错了什么。要设置“foo=bar”,XML 看起来像: [...] bar
    【解决方案2】:

    您应该可以通过在插件的容器定义中使用 systemProperties 标签来做到这一点:

    <container>
      <systemProperties>
        <foo>bar</foo>
      </systemProperties>
    </container>
    

    这相当于在命令行或其他选项中传递 -Dfoo=bar。

    【讨论】:

      猜你喜欢
      • 2015-03-18
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 2016-11-08
      • 2017-03-02
      • 2015-06-30
      • 1970-01-01
      相关资源
      最近更新 更多