У меня есть файл conf в приложении Java, который содержит параметр IP-адреса. Я хочу быть в состоянии поставить в этот параметр локальный IP-адрес автоматически во время сборки. Я использовал maven resources-plugin следующим образом:
<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>
Проблема в том, что это не работает, и я получаю $ {local.ip} в результирующем файле вместо xxx.xxx.xxx.xxx ip address.
Есть предложения?