2009-01-28 116 views
2

我正在准备一个用于持续集成的maven2 web项目。在运行集成测试之前,我使用maven cargo plugin自动将WAR部署到Tomcat6x。如何将Java系统属性传递给货运集装箱

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

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

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

回答

7

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

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

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

MAVEN_OPTS=-Dfoo=bar 

希望这有助于。

+0

啊,谢谢!我尝试过使用,但我一定犯了错误。设置为 “foo =栏” 的XML看起来像: [...] 酒吧 Olvagor 2009-01-29 09:23:32

2

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

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

这相当于通过-Dfoo =酒吧在命令行中或另一种选择。