mkyong - Valores para os.family en la condición de activación del perfil de Maven
maven profiles properties example (4)
Maven permite activar ciertos perfiles de compilación basados en la familia de sistemas operativos en los que se ejecuta, por ejemplo:
<profile>
<activation>
<os><family>Windows</family></os>
</activation>
</profile>
Hay una serie de preguntas en torno a esto: ¿cuáles son los valores permitidos para os.family
entonces? ¿Son sensibles a mayúsculas y minúsculas? ¿Linux se presenta como Unix
? O unix
? Y así.
¿Dónde puedo encontrar información sobre los valores permitidos o, al menos, de dónde toma Maven estos valores? ¿Variables de entorno?
Un comando Maven muy útil para verificar estas propiedades del sistema operativo en su máquina:
mvn enforcer:display-info
Ejemplo de salida en un host SunOS / Sparc:
[INFO] Maven Version: 3.0.4
[INFO] JDK Version: 1.6.0_34 normalized as: 1.6.0-34
[INFO] OS Info: Arch: sparc Family: unix Name: sunos Version: 5.8
Ejemplo de salida en un host Linux:
[INFO] Maven Version: 3.0.4
[INFO] JDK Version: 1.7.0_85 normalized as: 1.7.0-85
[INFO] OS Info: Arch: amd64 Family: unix Name: linux Version: 2.6.32-504.23.4.el6.x86_64
Valores de la familia OS:
dos
mac
netware
os/2
tandem
unix
windows
win9x
z/os
os/400
openvms
Otro valor que puede obtener por ejecutar un programa simple:
public class SystemProperties {
public static void main(String[] args) {
System.out.println("Os name: " + System.getProperty("os.name"));
System.out.println("Os arch: " + System.getProperty("os.arch"));
System.out.println("Os version: " + System.getProperty("os.version"));
}
}
podría valer la pena preguntar de la ayuda de Maven:
mvn help:system | grep "os/."