我正在准备一个maven2 web项目以进行持续集成。在运行集成测试之前,我使用maven cargo plugin自动将WAR部署到Tomcat6x。
我的代码取决于使用MAVEN_OPTS=-Dfoo=bar
设置的某些系统属性。不幸的是,当应用程序部署到Tomcat时,这些属性丢失了:
System.getProperty("foo"); // null, when deployed to container by maven-cargo
如何将这些属性传递给Tomcat?
答案 0 :(得分:7)
您应该可以通过在插件的容器定义中使用systemProperties标记来执行此操作:
<container>
[...]
<systemProperties>
<MAVEN_OPTS>-Dfoo=bar</MAVEN_OPTS>
</systemProperties>
</container>
或者您可以在$ CATALINA_HOME / bin /目录中的setenv.sh(在Linux上)文件中设置它。如果此文件不存在,您应该创建它并添加以下行:
MAVEN_OPTS=-Dfoo=bar
希望这有帮助。
答案 1 :(得分:2)
您应该可以通过在插件的容器定义中使用systemProperties标记来执行此操作:
<container>
<systemProperties>
<foo>bar</foo>
</systemProperties>
</container>
这相当于在命令行或其他选项中传递-Dfoo = bar。