Örneğin, AAA
bir ortam değişkeni varsa${env:AAA}
ayarına ve böyle bir ortam değişkeni yoksa başka bir sabit değere sahip olmak istiyorum.Maven'de koşullu özellikler nasıl tanımlanır?
Nasıl maven 2'de yapabilirim?
Örneğin, AAA
bir ortam değişkeni varsa${env:AAA}
ayarına ve böyle bir ortam değişkeni yoksa başka bir sabit değere sahip olmak istiyorum.Maven'de koşullu özellikler nasıl tanımlanır?
Nasıl maven 2'de yapabilirim?
Görünüşe ... Eğer activate a profile conditionally sanki
<profiles>
<profile>
<activation>
<property>
<name>environment</name>
<value>test</value>
</property>
</activation>
...
</profile>
</profiles>
profil ortam değişkeni aşağıdaki komutu olarak değer
test
için tanımlandığında aktive olacaktır
:
mvn ... -Denvironment=test
Anlamadım. Maven'in mülk şartlarının olmadığı anlamına mı geliyor? 10 mülküm varsa ve her birini çevreye yaymaya izin vermek istiyorsam, kaç tane profil tanımlamalıyım? – mark
Yapı sisteminize bağlıdır. 10 özellik karşılıklı olarak özelse, o zaman 10 profili tanımlamanız gerekir. Ancak, bu durumda mantığınızı gözden geçirmenizi öneriyorum. – hd1
Bu kabul edilen yanıt – thermz
Sistem özelliğinin kabul edilemez olması durumunda, POM dosyanızdaki özelliği kolayca tanımlayabilir ve gerektiğinde geçersiz kılabilirsiniz:
<project>
...
<properties>
<foo.bar>hello</foo.bar>
</properties>
...
</project>
POM'unuzdaki bu yeri, ${foo.bar}
numaralı belgeye başvurarak referans alabilirsiniz. Sen maven-antrun-eklentisi kullanarak koşullu bir özelliği ayarlayabilirsiniz
mvn -Dfoo.bar=goodbye ...
: Komut satırında geçersiz kılmak için, sadece yeni bir değer iletin. Örnek ayarı install.path
+ değeri yankılanıyor +
<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>
Başka bir 'maven-antrun-plugin' içinde' $ {install.path} 'kullanmayı denerseniz, aynı sürümleri olması gerektiğini unutmayın. –
Yani bir özelliği koşullu olarak ayarlamak istersiniz? –