установить свойство системы Java во время компиляции Maven 2? - PullRequest
5 голосов
/ 14 марта 2012

У меня есть профиль maven и я хочу установить свойство, которое впоследствии будет доступно для System.getProperty (..) в Java:

<profile>
  <id>local-dev</id>
  <properties>
    <my.comp.my.prop>myValue</my.comp.my.prop>
  </properties>
</profile>

Я хочу, чтобы System.getProperty("my.comp.my.prop") было "myValue", ноэто null .. Как мне правильно установить?:)

Спасибо!

Ответы [ 2 ]

10 голосов
/ 31 октября 2012

properties-maven-plugin Плагин поможет вам сделать именно то, что вы ищете:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>properties-maven-plugin</artifactId>
    <version>1.0-alpha-2</version>
    <executions>
        <execution>
            <goals>
                <goal>set-system-properties</goal>
            </goals>
            <configuration>
                <properties>
                    <property>
                        <name>my.property.name</name>
                        <value>my.property.value</value>
                    </property>
                </properties>
            </configuration>
        </execution>
    </executions>
</plugin>
1 голос
/ 15 марта 2012

maven не может установить свойство, к которому ваше приложение может получить доступ из среды во время выполнения.

Вместо этого вы можете использовать maven для обновления файла свойств в вашей кодовой базе во время сборки, который затем может быть прочитан вашим приложением во время выполнения. Различные значения свойства могут быть установлены на основе профиля, что позволяет вашему приложению иметь различные значения по желанию.

Кроме того, вы можете вызвать приложение, задав желаемое свойство в среде вручную (за пределами maven).

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