2011-06-17 174 views
7

我正在尋找將環境變量傳遞到貨物集裝箱的方法。事情是這樣的:將自定義環境變量傳遞給maven貨物

<plugin> 
    <groupId>org.codehaus.cargo> 
    <artifactId>cargo-maven2-plugin</artifactId> 
    <configuration> 
    <environmentVariables> 
     <myCustomVariable>value</myCustomVariable> 
     ... 

回答

4

據我所知,貨物只允許通過系統屬性作爲Passing system propertiesMaven Tips如下面的例子提的是: -

<container> 
    [...] 
    <systemProperties> 
    <myproperty>myvalue</myproperty> 
    </systemProperties> 
</container> 

的解決方法可能是鏈接系統環境變量的屬性如下例所示: -

<container> 
    [...] 
    <systemProperties> 
    <myproperty>${env.MY_ENV_VAR}</myproperty> 
    </systemProperties> 
</container> 

通常我們只能通過使用OS方式設置環境變量。總之,在How do I set environment variables from Java?處提供的Java語言也有一個解決方法。

我總是使用此技巧在單元測試期間設置環境變量,將它們與@BeforeClass一起放入JUnit測試套裝中,並將它們設置爲空字符串與@AfterClass

請注意,正式的Java教程也提到了關於Environment VariablesPassing Environment Variables to New Processes

我希望這可能有所幫助。

+0

我試過這個,但它沒有與glassfish 4一起工作。我總是將該屬性設置爲null。要在java代碼中檢索屬性,請使用:System.getenv(「myproperty」)。我也試過System.getProperty(「myproperty」),但那也沒有用。 – vanval 2016-09-07 20:04:29

相關問題