2011-06-22 71 views
1

我在包含IP地址參數的java應用程序中有一個conf文件。我希望能夠在構建時自動將本地IP地址放入此參數。我使用Maven的資源,插件如下:從Maven Plugin爲資源過濾設置pom屬性

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-resources-plugin</artifactId> 
    <version>2.5</version> 
    <executions> 
     <execution> 
      <id>copy-resources</id> 
      <phase>validate</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>/home/user/config</outputDirectory> 
       <resources> 
        <resource> 
         <directory>config</directory> 
         <filtering>true</filtering> 
         <includes> 
          <include>**/*.xml</include> 
          <include>**/*.properties</include> 
         </includes> 
        </resource> 
       </resources> 
      </configuration> 
     </execution> 
    </executions> 

接下來,我已經創建了一個包含參數

<properties> 
    <gateway.ip>${local.ip}</gateway.ip> 
</properties> 

然後一個屬性,我創建了一個Maven插件是得到本地IP地址並設置以上參數:

final Properties props = mavenProject.getProperties(); 
props.put("local.ip", resultAddress.getHostAddress()); 

最後,我定義了我的自定義插件在pom.xml:

<plugin> 
    <groupId>com.company</groupId> 
    <artifactId>get-local-ip-plugin</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <executions> 
     <execution> 
      <id>get-local-ip</id> 
      <phase>validate</phase> 
      <goals> 
       <goal>get-local-ip</goal> 
      </goals> 
      <configuration> 
       <localIp>${local.ip}</localIp> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

的問題是,這並不工作,我所得到的文件,而不是xxx.xxx.xxx.xxx IP地址獲得$ {} local.ip。

有什麼建議嗎?

+0

找到了我錯誤:) - 我將兩個插件綁定到驗證階段(好的舊複製粘貼) – rperez

+3

將此評論作爲答案並接受它,以便問題完成。 – Tnem

回答

0

回答評論:

發現我的錯誤:) - 我既結合插件的驗證階段(好 舊複製粘貼) - rperez 6月22日'11