¿Hay alguna manera de obtener el nombre de la máquina como propiedad ant, tanto para Linux como para Windows OS?propiedad del nombre de la máquina ant
Respuesta
En Windows, el nombre de host está en la variable de entorno "COMPUTERNAME", en Linux la variable de entorno es "HOSTNAME". Dado que las propiedades de hormigas son inmutables algo como lo siguiente debería funcionar:
<property environment="env"/>
<property name="env.HOSTNAME" value="${env.COMPUTERNAME}"/>
<echo message="hostname = ${env.HOSTNAME}"/>
es decir, importar el medio ambiente como propiedades con el prefijo env. A continuación, configure env.HOSTNAME para que sea el valor de env.COMPUTERNAME a menos que env.HOSTNAME ya esté configurado, en cuyo caso la segunda línea no tendrá ningún efecto. Después de eso use env.HOSTNAME donde se requiere el nombre de host.
Puede usar las variables de entorno $ HOSTNAME (UNIX) y% COMPUTERNAME% (Windows) para esto. Puede verificar si la variable de entorno HOSTNAME se ha definido y, de lo contrario, puede utilizar la variable de entorno COMPUTERNAME, suponiendo que esté definida. Como alternativa, puede usar "desconocido".
Copie el valor de Unix en la versión de Windows. Entonces puede usar $ {env.COMPUTERNAME}.
<property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/>
<exec executable="hostname" outputproperty="computer.hostname"/>
funcionará en Linux y Windows
Creo que esto es más confiable. Cuando estábamos usando COMPUTERNAME, en ALGUNAS máquinas, la carcasa del valor no coincidía con la carcasa del nombre de la máquina. 'hostname' siempre ha coincidido. – fnCzar
+1. Intenté la respuesta aceptada y falló. Este funcionó muy bien. ¡Gracias! –
Lo mismo aquí. Esto funciona para mí también. ¡Gracias! – Curtis
que iba a escribir una tarea personalizada hormiga.
Una vez que comience a escribir sus propias tareas, encontrará que Ant se vuelve mucho más divertido y fácil de usar. No necesita soluciones extrañas que sean difíciles de entender.
Una vez que la tarea se ha escrito usted acaba de hacer algo como:
<my:hostname property"hostname" />
La forma correcta para encontrar el nombre de host de la máquina local es mediante el uso de tareas de Ant HostInfo
. Esto funcionará en todas las plataformas y es soportado nativamente por Ant.
<hostinfo prefix="host." />
<echo message="My hostname is '${host.NAME}'" />
Parece que esta debería ser la respuesta "correcta", pero cuando uso esto (al menos, en mi sistema Debian Sid), '$ {host.NAME}' se establece en 'localhost'. Ejecutar 'hostname' según la respuesta de Rebse devuelve el nombre de host real que quiero. –
- 1. propiedad del nombre NSCache
- 2. define la propiedad ant del entorno con el valor predeterminado
- 3. Obtener el nombre de la máquina del cliente
- 4. ¿Cómo sobrescribir la propiedad en Ant?
- 5. bucle sobre la propiedad en Ant
- 6. Reemplazar caracteres en la propiedad Ant
- 7. Ant: Convertir el nombre de la clase a la ruta del archivo
- 8. ¿Nombre actual de la máquina Java y usuario conectado?
- 9. .Net nombre de la propiedad
- 10. Establecer la propiedad de lo que maven.compile.classpath contiene SIN Ant
- 11. Establecer valor de la propiedad nombre utilizando la propiedad
- 12. Ant var y ámbito de propiedad
- 13. Obtener el nombre de la propiedad dentro del setter
- 14. ¿Cómo establecer la propiedad del nombre de archivo en BlobStore?
- 15. Ant: cómo fallar si la propiedad contiene una cierta cadena
- 16. MAYÚSCULAS, minúsculas, capitalizar una propiedad Ant
- 17. Convertir a nombre de la propiedad objeto
- 18. Cambiar el nombre de los archivos durante la copia ANT
- 19. Justificación de la máquina del desarrollador
- 20. ¿Cómo obtengo el nombre de la máquina local en C#?
- 21. Buscar el nombre físico de la máquina en Java
- 22. Obtener PropertyInfo de propiedad en lugar del nombre
- 23. Una pregunta sobre el nombre de propiedad del objeto JavaScript
- 24. Ant/Ivy para la construcción del proyecto
- 25. ANT esperando la creación del archivo
- 26. JSP EL: creación dinámica del nombre de propiedad
- 27. PHP - ¿Cómo cambiar el nombre de una propiedad del objeto?
- 28. PHP Clase Nombre de propiedad
- 29. Obtener cadena de nombre de la propiedad de la expresión
- 30. ¿Cómo puedo obtener el nombre de la última carpeta en mi ruta basada en Ant?
nice workaround – Michael