我知道我可以像这样使用maven-enforcer-plugin来要求特定的OS家庭:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>check-os</id>
<goals>
<goal>enforce</goal>
</goals>
<phase>validate</phase>
<configuration>
<rules>
<requireOS>
<family>unix</family>
<message>
You should use Unix to build this.
</message>
</requireOS>
</rules>
</configuration>
</execution>
</executions>
</plugin>但我能否定义可用于构建的多个OS (例如Unix和Windows)?
我找不到任何直截了当的方法,所以我很感激任何解决办法。
发布于 2015-01-14 15:00:21
platform-dependent,元素的主要目标是在构建<requireOS>时进行一些指令,即您需要根据当前的操作系统执行一些操作,因此,如果为某些操作系统定义一些插件,而将另一些插件丢弃,那么就没有什么意义了。
本着这种精神,<requireOS>不允许范围限制(不能将多个OSs定义为:<requireOS>[windows,linux]</requireOS>)。
同时,您仍然可以编写您自己的自定义规则,继承EnforcerRule,并且只有在当前操作系统没有进入您的自定义规则所需的OSs 时,构建才会失败。
已经有一个我曾经使用过的已实现的规则。您可以在项目URL中找到关于如何使用自定义规则的更多详细信息。
有关自定义规则实现的更多信息,可以在Maven Docs中找到。
发布于 2015-01-14 10:58:34
您可以使用配置文件来管理不同的操作系统。
例:
<profiles>
<profile>
<id>exec-windows</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<build> <plugins> ....https://stackoverflow.com/questions/27941091
复制相似问题