Определение платформы (Windows или Linux) по groovy/grails

Есть ли способ определить платформу (Window / Linux), в которой сайт работает на Groovy / Grails?

2 ответа

Решение
System.properties['os.name']

вернет название ОС, например "Windows XP". Так что если вы хотите выяснить, работаете ли вы в Windows или нет, вы можете сделать что-то вроде:

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

С другой стороны, org.apache.commons.lang.SystemUtils (из проекта Apache commons-lang) предоставляет некоторые логические константы, которые предоставляют ту же информацию, что и код выше, например

SystemUtils.IS_OS_MAC
SystemUtils.IS_OS_WINDOWS
SystemUtils.IS_OS_UNIX

Более конкретные константы, такие как они, также доступны

SystemUtils.IS_OS_WINDOWS_2000
SystemUtils.IS_OS_SOLARIS
SystemUtils.IS_OS_MAC_OSX

Или для краткости:

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

Так как Groovy предоставить карту доступа к getAt/putAt методы.

Другие вопросы по тегам