属性为变量的Maven配置文件
我正在研究MAVEN配置文件,我有一个关于设置变量属性的问题。目前,我正在使用以下配置:属性为变量的Maven配置文件,maven,variables,profile,Maven,Variables,Profile,我正在研究MAVEN配置文件,我有一个关于设置变量属性的问题。目前,我正在使用以下配置: <profile> <id>Action type D restriction</id> <activation> <property> <name>actionType</name> <value>D</value> </property>
<profile>
<id>Action type D restriction</id>
<activation>
<property>
<name>actionType</name>
<value>D</value>
</property>
</activation>
<properties>
<restriction.actionType>D</restriction.actionType>
</properties>
</profile>
<profile>
<id>Action type W restriction</id>
<activation>
<property>
<name>actionType</name>
<value>W</value>
</property>
</activation>
<properties>
<restriction.actionType>W</restriction.actionType>
</properties>
</profile>
动作类型D限制
动作类型
D
D
动作类型W限制
动作类型
W
W
我的问题是,;是否可以使用一个配置文件和一个变量来完成相同的工作,大致如下:
<profile>
<id>Action type restriction</id>
<activation>
<property>
<name>actionType</name>
<value>[D,W]</value>
</property>
</activation>
<properties>
<restriction.actionType>${project.profiles.profile.activation.value}</restriction.actionType>
</properties>
</profile>
动作类型限制
动作类型
[D,W]
${project.profiles.profile.activation.value}
或者类似的东西。也许你想要这样的东西
<profiles>
<profile>
<id>Action type restriction</id>
<activation>
<property>
<name>actionType</name>
</property>
</activation>
<properties>
<restriction.actionType>${actionType}</restriction.actionType>
</properties>
</profile>
</profiles>
动作类型限制
动作类型
${actionType}
谢谢Tunaki。这就成功了。现在,我的设置如下:
<project>
...
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<ActionType/>
</properties>
...
<profiles>
<profile>
<id>Action-type profile</id>
<activation>
<property>
<name>actionType</name>
<value>[D,W]</value>
</property>
</activation>
</profile>
</profiles>
...
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>properties.plugin</groupId>
<artifactId>Lazaruss-maven-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<configuration>
<actionType>${actionType}</actionType>
</configuration>
...
</plugin>
</plugins>
</pluginManagement>
</build>
它将我的类中的变量设置为W:)
注意,我的类中的变量也被命名为“actionType”为什么要首先使用概要文件?与其传递
-DactionType=D
,不如传递-Drestriction.actionType=D
。好的,是的,但我也希望编译器在actionType的值不是“D”或“W”时抛出一个错误。您可以使用maven enforcer插件来实现这一点。
mvn groupId:artefactId:version:goal -DactionType=W