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