Detecting the platform (Window or Linux) by Groovy/Grails

18,372

Solution 1

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

Solution 2

Or for short:

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

Since Groovy provides a map access to getAt/putAt methods.

Share:
18,372
Hoàng Long
Author by

Hoàng Long

I'd like to describe myself as an adventurer who seeks to explore new knowledge. But actually, I'm just an ordinary people, struggling hard to make the life a little better.

Updated on June 04, 2022

Comments

  • Hoàng Long
    Hoàng Long almost 2 years

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