Existe-t-il un moyen d'obtenir le nom de la machine en tant que propriété ant, pour Linux et Windows OS.propriété de nom de machine ant
Répondre
Sous Windows, le nom d'hôte se trouve dans la variable d'environnement "COMPUTERNAME", sous Linux, la variable d'environnement est "HOSTNAME". Parce que les propriétés de fourmis sont quelque chose d'immuable comme ce qui suit devrait fonctionner:
<property environment="env"/>
<property name="env.HOSTNAME" value="${env.COMPUTERNAME}"/>
<echo message="hostname = ${env.HOSTNAME}"/>
à savoir importer l'environnement en tant que propriétés préfixées avec env. Définissez ensuite env.HOSTNAME comme étant la valeur de env.COMPUTERNAME sauf si env.HOSTNAME est déjà défini, auquel cas la deuxième ligne n'aura aucun effet. Après cela, utilisez env.HOSTNAME où le nom d'hôte est requis.
Vous pouvez utiliser les variables d'environnement $ HOSTNAME (UNIX) et% COMPUTERNAME% (Windows) pour cela. Vous pouvez vérifier si la variable d'environnement HOSTNAME a été définie et, dans le cas contraire, vous pouvez utiliser la variable d'environnement COMPUTERNAME, en supposant qu'elle soit définie. En tant que solution de repli, vous pouvez utiliser "inconnu".
Copiez la valeur pour Unix dans la version Windows. Ensuite, vous pouvez utiliser $ {env.COMPUTERNAME}.
<property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/>
<exec executable="hostname" outputproperty="computer.hostname"/>
fonctionnera sous Linux et Windows
Je pense que c'est plus fiable. À l'époque où nous utilisions COMPUTERNAME, sur CERTAINES machines, l'enveloppe de la valeur ne correspondait pas à l'enveloppe du nom de la machine. 'hostname' a toujours correspondu. – fnCzar
+1. J'ai essayé la réponse acceptée et elle a échoué. Celui-ci a bien fonctionné. Merci! –
Même ici. Cela fonctionne pour moi aussi. Merci! – Curtis
j'écrirais une tâche Ant personnalisée. Une fois que vous commencez à écrire vos propres tâches, vous constaterez que Ant devient beaucoup plus amusant et facile à utiliser. Vous n'avez pas besoin de solutions étranges qui sont difficiles à comprendre.
Une fois que la tâche est écrit que vous voulez simplement faire quelque chose comme:
<my:hostname property"hostname" />
La bonne façon de trouver le nom d'hôte de la machine locale est à l'aide de la tâche HostInfo
Ant. Cela fonctionnera sur toutes les plateformes et est supporté nativement par Ant.
<hostinfo prefix="host." />
<echo message="My hostname is '${host.NAME}'" />
Il semble que ce soit la "bonne" réponse, mais quand j'utilise ceci (au moins, sur mon système Debian Sid), '$ {host.NAME}' est défini sur 'localhost'. Exécuter 'hostname' selon la réponse de Rebse renvoie le nom d'hôte réel que je veux. –
- 1. mauvais répertoire de Ant sur la propriété
- 2. Nom de la machine Java actuelle et utilisateur connecté?
- 3. Propriété de nom de UserControl ou Control
- 4. Propriété Ant contenant les paramètres Macrodef
- 5. Nom de domaine de la machine dans .NET?
- 6. Entity Framework Mapping, nom de propriété différent
- 7. Rechercher le nom de la machine physique en Java
- 8. Comment consignez-vous le nom de la machine via log4net?
- 9. Comment puis-je obtenir le nom du dernier dossier dans mon chemin de base dans Ant?
- 10. Copier une liste d'arguments Ant dans une propriété
- 11. Définition d'une propriété sur ce que maven.compile.classpath contient WITHOUT Ant
- 12. Comment C# transforme un nom de variable en un nom de propriété d'objet anonyme?
- 13. Nom de la propriété Lambda et Index Tableau
- 14. Accès au nom ou aux attributs de la propriété C#
- 15. Comment utiliser un mot clé C# comme nom de propriété?
- 16. Récupère le nom de la propriété dans le setter
- 17. Comment obtenir le nom d'une propriété de classe?
- 18. Comment obtenir le nom de propriété actuel par réflexion?
- 19. Sortie de capture Ant
- 20. Ant Exemple de script
- 21. MaxCore de JUnit de ant
- 22. Compilation de projets Flex avec Remote Ant
- 23. Impossible de lier la propriété ou la colonne Nom dans DataSource. Nom du paramètre: dataMember
- 24. Créer une propriété python avec le même nom que le nom du membre de la classe
- 25. Quelle est la meilleure façon de déterminer le nom de votre machine dans une application .NET?
- 26. Comment Ant peut-il lire une valeur d'un fichier dans une valeur de propriété?
- 27. Définir la propriété ant de l'environnement avec la valeur par défaut
- 28. Dans Ant, puis-je utiliser une propriété à l'intérieur de la "dépend" d'une cible?
- 29. Comment stocker la valeur de la propriété Ant d'Apache dans le fichier
- 30. Optimisation de machine virtuelle
bonne solution de contournement – Michael