Настройка свойств pom из плагина Maven для фильтрации ресурсов - PullRequest
1 голос
/ 22 июня 2011

У меня есть файл 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.

Есть предложения?

1 Ответ

0 голосов
/ 09 июля 2015

Ответил в комментариях:

нашел мою ошибку :) - Я связал оба плагина к фазе проверки (хорошо старая копия-паста) - рперез июнь 22 '11

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...