예를 들어, 환경 변수가 AAA
이면 속성 Configuration
을 ${env:AAA}
으로 설정하고 환경 변수가없는 경우 다른 상수 값을 설정하고 싶습니다.Maven에서 조건부 속성을 정의하는 방법은 무엇입니까?
어떻게하면 Maven 2에서 할 수 있습니까?
예를 들어, 환경 변수가 AAA
이면 속성 Configuration
을 ${env:AAA}
으로 설정하고 환경 변수가없는 경우 다른 상수 값을 설정하고 싶습니다.Maven에서 조건부 속성을 정의하는 방법은 무엇입니까?
어떻게하면 Maven 2에서 할 수 있습니까?
이 나타납니다 ... 당신 activate a profile conditionally 마치
<profiles>
<profile>
<activation>
<property>
<name>environment</name>
<value>test</value>
</property>
</activation>
...
</profile>
</profiles>
프로파일 환경 변수는 다음 명령으로 값
test
에 정의 될 때 활성화 될 것
:
mvn ... -Denvironment=test
시스템 속성을 사용할 수없는 경우 POM 파일에 속성을 정의하고 필요할 때 재정의 할 수 있습니다.
<project>
...
<properties>
<foo.bar>hello</foo.bar>
</properties>
...
</project>
을 참조하여 POM의 다른 곳에서이 속성을 참조 할 수 있습니다. 당신은 받는다는 - antrun-플러그인을 사용하여 조건부 속성을 설정할 수 있습니다
mvn -Dfoo.bar=goodbye ...
: 명령 행에서 대체하려면, 단지 새로운 가치를 전달합니다. 설정 예 install.path
+ 값을 반향 :
<plugin>
<!-- Workaround maven not being able to set a property conditionally based on environment variable -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<exportAntProperties>true</exportAntProperties>
<target>
<property environment="env"/>
<condition property="install.path" value="${env.INSTALL_HOME}" else="C:\default-install-home">
<isset property="env.INSTALL_HOME" />
</condition>
<echo message="${install.path}"/>
</target>
</configuration>
</execution>
</executions>
</plugin>
다른'maven-antrun-plugin'에서'$ {install.path}'를 사용하려고하면 같은 버전을 가져야합니다. –
조건부로 속성을 설정 하시겠습니까? –