Maven配置文件激活条件下os.family的值
Maven允许根据其运行的操作系统系列激活某些构建配置文件,例如:Maven配置文件激活条件下os.family的值,maven,environment-variables,maven-profiles,Maven,Environment Variables,Maven Profiles,Maven允许根据其运行的操作系统系列激活某些构建配置文件,例如: 窗户 围绕这一点有很多问题:那么os.family的允许值是多少?它们区分大小写吗?Linux被认为是Unix吗?或者unix?等等 我在哪里可以找到关于允许值的信息?或者,至少,Maven从哪里获取这些值?环境变量?这些值在中的plexus utils项目中定义。您可以看到匹配不区分大小写,值取自System.getProperty(“os.name”),并且您应该指定unix,以匹配Linux平台。os系列值: dos
窗户
围绕这一点有很多问题:那么os.family
的允许值是多少?它们区分大小写吗?Linux被认为是Unix吗?或者unix
?等等
我在哪里可以找到关于允许值的信息?或者,至少,Maven从哪里获取这些值?环境变量?这些值在中的
plexus utils
项目中定义。您可以看到匹配不区分大小写,值取自System.getProperty(“os.name”)
,并且您应该指定unix
,以匹配Linux平台。os系列值:
dos
mac
netware
os/2
tandem
unix
windows
win9x
z/os
os/400
openvms
运行简单程序可获得的其他值:
public class SystemProperties {
public static void main(String[] args) {
System.out.println("Os name: " + System.getProperty("os.name"));
System.out.println("Os arch: " + System.getProperty("os.arch"));
System.out.println("Os version: " + System.getProperty("os.version"));
}
}
一个非常有用的Maven命令,用于检查机器上的这些操作系统属性:
mvn enforcer:display-info
SunOS/Sparc主机上的输出示例:
[INFO] Maven Version: 3.0.4
[INFO] JDK Version: 1.6.0_34 normalized as: 1.6.0-34
[INFO] OS Info: Arch: sparc Family: unix Name: sunos Version: 5.8
Linux主机上的输出示例:
[INFO] Maven Version: 3.0.4
[INFO] JDK Version: 1.7.0_85 normalized as: 1.7.0-85
[INFO] OS Info: Arch: amd64 Family: unix Name: linux Version: 2.6.32-504.23.4.el6.x86_64
也许值得向maven求助:
mvn help:system | grep "os\."
这也是Apache提供的,它当前链接到。这就是我需要识别所需变量
${os.detected.name}
。