grails groovy platform-detection

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