2010-11-03 5 views
1

Привет, я использую ant для создания проекта scala android. Кажется, мой $ {scala_home} не расширяется, и мне приходится жестко кодировать местоположение scala. Я, очевидно, не хочу этого делать.ant не расширяет мой домашний каталог scala

Любые мысли о том, что я могу делать неправильно. Похоже, что никакие переменные env не расширяются в скрипте. Я тестировал это с помощью <. Echo message = "$ {PATH}" /> и $ {PATH}

+0

опубликуйте сценарий сборки и проверьте, действительна ли эта переменная. Если он недействителен, муравь не разрешит его. –

ответ

3

Переменные окружения не могут быть автоматически доступны как свойства в сборке Ant.

Два варианты прохождения переменного окружения Ant:

  • питание переменного на Ant командной строки в качестве определения свойства
  • Установите на prefix будет использоваться для доступа к переменным окружению через свойство

Для первых вы можете использовать:

$ ant -Dscala_home=$SCALA_HOME 

Это сделало бы набор scala_home для сборки.

Для второго вы могли бы использовать:

<property environment="env" /> 

указать префикс, то вы можете увидеть значение таким образом:

<echo message="${env.SCALA_HOME}" /> 

Если вы каким-то образом имеют сложную build.xml, что опирается на свойство без префикса - ${scala_home} - тогда вы можете скопировать значение из окружающей среды с помощью

<property environment="env" /> 
<property name="scala_home" value="${env.scala_home}" /> 

(Обратите внимание, что вам может потребоваться изменить регистр в именах переменных среды.)

+0

Спасибо - я запустил оба этих решения, и они отлично работают - вероятно, с Meredith

Смежные вопросы