2012-11-19 19 views

Odpowiedz

7

Użyj ${env.ProgramFiles(x86)}. Zmienna rozróżnia wielkość liter w sposób niezgodny z env.PROGRAMFILES.

[echo] env.ProgramFiles(x86) == C:\Program Files (x86) 
[echo] env.PROGRAMFILES(x86) == ${env.PROGRAMFILES(x86)} 
[echo] env.ProgramFiles  == ${env.ProgramFiles} 
[echo] env.PROGRAMFILES  == C:\Program Files 
+0

Dla mnie dwa przypadki zmiennych, które nie są niespójne: są to env.ProgramFiles i env.ProgramFiles (x86). Może coś zmieniło się w nowszej mrówce? Mam mrówkę 1.9.4. – Vlad

2

Czy próbowałeś już ${env.PROGRAMFILES(x86)}? (Patrz how to get program files x86 env variable?)

Przepraszam, nie mam maszyny Windows do przetestowania tego.

Jeśli to nie działa sugeruję dodanie następującego zadania nieruchomości w budowie:

<property environment="env"/> 

I uruchomić ANT w trybie debugowania, aby zobaczyć wartości set:

ant -d 
+0

Dzięki za sugestię, Mark. Ta składnia nie działa; jednak w trakcie błędnego wpisywania go, znalazłem, że $ {env.ProgramFiles (x86)} działa. To dziwne - $ {env.PROGRAMFILES} działa, ale $ {env.ProgramFiles} nie. Tak więc jest tu pewna niekonsekwencja w składni. Dziękuję za zaproszenie do rozwiązania! – Jerry