0

我們指定了一堆的系統屬性,在我們的Maven編譯器插件定義的pom.xml中:Java:Maven存儲系統屬性在編譯的jar中的pom.xml中設置的位置在哪裏?

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.2</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
       <encoding>${project.build.sourceEncoding}</encoding> 

       <systemProperties> 
        <systemProperty> 
         <key>aKey</key> 
         <value>aValue</value> 
        </systemProperty> 
       </systemProperties> 
      <!-- ....etcetera.... --> 

在執行罐子

如何Maven的創建這個自動加載這些自動加載系統屬性的行爲?我想了解這種行爲的實際執行情況。

回答

0

這不是我期望的行爲(除非我誤解你)。編譯時系統屬性不應該在運行時持久化。

我創建了一個基本的maven項目,它只是打印出系統屬性,並且它不包含在插件配置中指定的系統屬性。

System.getProperties().getProperty("aKey")返回null即使編譯器插件配置與您的相同。

任何其他可能會有影響的插件運行?你如何訪問系統屬性?

+0

我們確信它確實存在,因爲我們有一個項目,其中的屬性按照我的示例指定,並且代碼在執行jar時將其視爲設置爲「true」。搜索項目 - 實際上是對它進行標記 - 不會顯示關鍵字的其他實例。我們部署的環境沒有在任何加載的項目文件中定義它。 – KomodoDave 2012-02-02 14:27:04