如何将Java系统属性传递给maven-cargo容器

Olv*_*gor 2 java testing continuous-integration maven-2 maven-cargo

我正在准备一个maven2 web项目以进行持续集成.在运行集成测试之前,我使用maven cargo插件自动将WAR部署到Tomcat6x.

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

System.getProperty("foo"); // null, when deployed to container by maven-cargo
Run Code Online (Sandbox Code Playgroud)

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

mas*_*jes 7

您应该可以通过在插件的容器定义中使用systemProperties标记来执行此操作:

      <container>
        [...]
      <systemProperties>
        <MAVEN_OPTS>-Dfoo=bar</MAVEN_OPTS>
      </systemProperties>
    </container>
Run Code Online (Sandbox Code Playgroud)

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

MAVEN_OPTS=-Dfoo=bar
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.