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。
有什麼建議嗎?
找到了我錯誤:) - 我將兩個插件綁定到驗證階段(好的舊複製粘貼) – rperez
將此評論作爲答案並接受它,以便問題完成。 – Tnem