Detectando la plataforma(Windows o Linux) por Groovy/Grails
platform-detection (2)
¿Hay alguna forma de detectar la plataforma (Windows / Linux) en la que Groovy / Grails está ejecutando el sitio web?
o para abreviar:
if (System.env[''OS''].contains(''Windows'')){ println "it''s Windows" }
Dado que Groovy proporciona acceso de Mapa a los métodos getAt/putAt
.
System.properties[''os.name'']
devolverá el nombre del sistema operativo, por ejemplo, "Windows XP". Entonces, si quiere saber si se está ejecutando en Windows o no, podría hacer algo como:
if (System.properties[''os.name''].toLowerCase().contains(''windows'')) {
println "it''s Windows"
} else {
println "it''s not Windows"
}
Alternativamente, org.apache.commons.lang.SystemUtils
(del proyecto Apache commons-lang ) expone algunas constantes booleanas que proporcionan la misma información que el código anterior, por ejemplo
SystemUtils.IS_OS_MAC
SystemUtils.IS_OS_WINDOWS
SystemUtils.IS_OS_UNIX
Constantes más específicas como estas también están disponibles
SystemUtils.IS_OS_WINDOWS_2000
SystemUtils.IS_OS_SOLARIS
SystemUtils.IS_OS_MAC_OSX