Detecting the platform (Window or Linux) by groovy

2019-04-03 02:03发布

Is there a way to detect the platform (Window / Linux) in which the website is running by Groovy / Grails?

2条回答
虎瘦雄心在
2楼-- · 2019-04-03 02:44

or for short:

if (System.env['OS'].contains('Windows')){ println "it's Windows" }

Since groovy provide a Map access to getAt/putAt methods.

查看更多
【Aperson】
3楼-- · 2019-04-03 02:52
System.properties['os.name']

will return the name of the OS, e.g. "Windows XP". So if you want to figure out whether you're running on Windows or not, you could do something like:

if (System.properties['os.name'].toLowerCase().contains('windows')) {
    println "it's Windows"
} else {
    println "it's not Windows"
}

Alternatively, org.apache.commons.lang.SystemUtils (from the Apache commons-lang project) exposes some boolean constants that provide the same information as the code above, e.g.

SystemUtils.IS_OS_MAC
SystemUtils.IS_OS_WINDOWS
SystemUtils.IS_OS_UNIX

More specific constants such as these are also available

SystemUtils.IS_OS_WINDOWS_2000
SystemUtils.IS_OS_SOLARIS
SystemUtils.IS_OS_MAC_OSX
查看更多
登录 后发表回答