2014-10-30 50 views
1

有沒有人知道如何將構建/安裝/測試項目期間使用的maven作爲參數傳遞給「java.security」文件的路徑?我曾嘗試:使用獨特的java.security文件構建mvn項目

mvn clean install -Djava.security.manager -Djava.security={path to the java.security file}. 

mvn clean install -Djava.security={path to the java.security file} 

我試圖做到這一點,因爲我想建的項目相比,項目的其餘部分需要一個唯一的java.security文件。

UPDATE:

我也曾嘗試:

mvn clean install -Djava.security.properties={path to new java.security file} 

,並確信security.overridePropertiesFile =真

+0

當你這樣做時發生了什麼?你有錯誤嗎? – 2014-10-30 13:34:58

+0

沒有錯誤信息,只是繼續使用默認的java.security文件 – user1103205 2014-10-30 13:54:30

+0

是否要將安全文件應用於構建?如果是這樣,爲什麼?將它們應用於測試不夠嗎? – 2014-10-30 16:02:52

回答

1

如果您想要測試的安全文件,那麼你應該正確地配置maven-surefire-plugin

它應該是這樣的:

<configuration> 
    <forkMode>once</forkMode> 
    <systemProperties> 
     <java.security>{path to the java.security file}</java.security> 
    </systemProperties> 
</configuration> 

沒有這一點,Maven的可能(也可能不會)啓動新的Java虛擬機,但它不會將其命令行參數給它。

另一種方法是將forkMode設置爲never,並使Maven自己使用安全管理器。這種方法的缺點是您必須配置SM以允許Maven需要執行的所有操作以及您的測試需要執行的操作。

相關問題