2009-01-28 72 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 =酒吧在命令行中或另一種選擇。

相關問題