Определение платформы (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
методы.