2009-09-06 6 views
3

Existe-t-il un moyen de trouver l'architecture sur laquelle un script ant s'exécute? À l'heure actuelle, je donne les résultats suivants:Détection de l'architecture système dans Ant

<echo>System = ${os.name} ${os.arch}</echo> 

qui produit:

[echo] System = Linux i386 

Ce pas correct, comme je suis en cours d'exécution 64 bits linux.

Merci

+0

double: http://stackoverflow.com/questions/218989/how-to-determine-build-architecture-32bit-64bit-with-ant/219081 –

Répondre

5

Depuis Ant est en cours d'exécution dans une machine virtuelle Java, il ne détecte que l'architecture de la machine virtuelle Java. Exécutez Ant avec une JVM 64 bits et vous obtiendrez une valeur différente de $ {os.arch}.

Si vous souhaitez détecter l'architecture du système d'exploitation sous-jacent, vous devez examiner les variables d'environnement ou vérifier la sortie de quelque chose comme uname.

0

peut-être la propriété système Java $ {os.arch}. Plus d'informations here.

0

Une autre solution:

<property environment="env"/> 
<condition property="systemWindows" value="64" else="86"> 
    <available file="${env.windir}/SysWOW64"/> 
</condition>