плагин свойств maven: странное поведение при запуске mvn deploy - PullRequest
1 голос
/ 21 марта 2012

У меня вопрос, связанный с плагином свойств maven.Мой вопрос в некоторой степени связан с Как прочитать файл внешних свойств в Maven

Следуя советам этой статьи, мне удалось заставить его выполнять большую часть того, что я хочу.Моя конфигурация выглядит следующим образом:

<dependency>
    <groupId>org.kuali.maven.plugins</groupId>
    <artifactId>properties-maven-plugin</artifactId>
    <version>1.0.8</version>
</dependency>
...


<plugin>
    <groupId>org.kuali.maven.plugins</groupId>
        <artifactId>properties-maven-plugin</artifactId>
        <version>1.0.8</version>

    <executions>
        <execution>
            <phase>initialize</phase>
            <goals>
                <goal>read-project-properties</goal>
            </goals>
            <configuration>
                <files>
                    <file>${basedir}/${environment}.properties</file>
                </files>
            </configuration>
        </execution>
    </executions>
</plugin>

Теперь у меня проблема в следующем: я настроил простой репозиторий для хранения вещей, например:

<distributionManagement>
    <repository>
        <id>localRep</id>
        <url>file:${localRepositoryLocation}</url>
    </repository>
</distributionManagement>

Когдапри выполнении mvn deploy $ {localRepositoryLocation} НЕ заменяется.

[INFO] --- maven-deploy-plugin:2.5:deploy (default-deploy) @ SomeApp ---
Uploading: file:${localRepositoryLocation}/SomeApp/SomeApp/1.0.0/SomeApp-1.0.0.war
Uploaded: file:${localRepositoryLocation}/SomeApp/SomeApp/1.0.0/SomeApp-1.0.0.war (5754 KB at 18322.3 KB/sec)
Uploading: file:${localRepositoryLocation}/SomeApp/SomeApp/1.0.0/SomeApp-1.0.0.pom
Uploaded: file:${localRepositoryLocation}/SomeApp/SomeApp/1.0.0/SomeApp-1.0.0.pom (7 KB at 2051.1 KB/sec)

Также следует отметить, что я также использовал этот плагин в версии mojo, и он приводит к точно такому же поведению.Так что, если один и тот же плагин от двух разных провайдеров дает одинаковые результаты, то, должно быть, я тут что-то не так делаю.

Кто-нибудь может помочь?

С уважением, Андрей

1 Ответ

5 голосов
/ 11 июня 2012

Во-первых, оба плагина разные. Оригинальный плагин codehaus доступен в <version>1.0-alpha-2</version>, а для конфигурации цели properties:read-project-properties требуется свойство files:

<configuration>
    <files>
        <file>etc/config/dev.properties</file>
    </files>
</configuration>

kuali-plugin доступен в <version>1.1.10</version> и является расширенной версией по сравнению с исходным плагином, для конфигурации требуется свойство location:

<configuration>
    <locations>
        <location>classpath:META-INF/spring/database.properties</location>
    </locations>
</configuration>

Здесь вы можете увидеть улучшение, цитата из кода плагинов:

Места, где можно найти файлы свойств. Любая загрузка ресурса Spring, доступная для URL, является действительной. например, classpath:myprops.properties. Поддерживаются свойства стиля .properties и .xml.

Проблема в вашем коде в том, что пример (из документации по codehaus) неверен. Правильная конфигурация выглядит так:

<plugin>
    <groupId>org.kuali.maven.plugins</groupId>
    <artifactId>properties-maven-plugin</artifactId>
    <version>1.1.10</version>
    <configuration>
        <locations>
            <location>classpath:META-INF/spring/database.properties</location>
        </locations>
    </configuration>
    <executions>
        <execution>
            <phase>initialize</phase>
            <goals>
                <goal>read-project-properties</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Как видите, тег конфигурации не находится под тегом выполнения.

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