Сборка с помощью ant: параметры динамической сборки? - PullRequest
1 голос
/ 08 ноября 2008

Поскольку несколько разработчиков работают над одним и тем же приложением Tomcat, я бы хотел указать приложению установить его по другому пути, в зависимости от текущего пользователя и клиента / представления управления версиями.

Итак, если Боб собирает, приложение должно быть установлено в тестовой среде Боба, может быть, / bob1 или что-то в этом роде. У Боба может быть несколько клиентов / представлений / рабочих областей управления ревизиями, с которыми он работает, поэтому он может иметь / bob1, / bob2, / bob3 и т. Д.

Место установки указано в файле build.properties. Есть ли способ избежать проверки этого файла и изменения его для каждого конкретного пользователя и представления управления версиями?

Может ли "ant install" принимать аргументы или быть настроенным для учета переменных среды для цели установки?

Ответы [ 4 ]

5 голосов
/ 17 ноября 2008

Обычно я использую вариант ответа по умолчанию на свойства, которые уже даны:

<property file="local.properties" />
<property file="default.properties" />

Сначала я читаю локальный файл свойств и одну секунду по умолчанию. Пользователи не редактируют файл по умолчанию (а затем случайно регистрируют его), они просто определяют свойства, которые хотят переопределить в local.properties.

2 голосов
/ 09 ноября 2008

Вы можете переопределить свойства муравья из командной строки.

ant -Dinstall.location=/bob1 install

См. Запуск Ant для получения дополнительной информации.

1 голос
/ 17 августа 2011

Этот ответ довольно поздно, но я просто хотел вставить его для кого-то, кто может нуждаться в нем. Ответ относится ко второй части вашего вопроса. «Может ли« ant install »принимать аргументы или быть настроен на учет переменных среды для цели установки?»

  1. Определите среду среды в вашем файле сборки:

    <property environment="env" />
    
  2. ссылаются на переменную env и используют ее для указания пути. Это сделано в моем определении classpath внутри моего файла сборки. Там написано, что в каталоге weblogic lib есть файл jar с именем api.jar. Вы можете получить доступ к любому другому пути, если для него определена соответствующая среда. Например, вы можете получить доступ к Программным файлам, Документам, Java Home и т. Д., Если вы отправили для них переменные среды. Здесь переменная среды, определенная для каталога установки weblogic, имеет вид BEA_HOME

    <fileset dir="${env.BEA_HOME}/wlserver_10.0/server/lib">
        <include name="api.jar" />
    </fileset>
    
0 голосов
/ 09 ноября 2008

Определение свойств с помощью опции -D в командной строке - это хорошо, хотя может быть утомительно, если их часто много. Чтобы противостоять желанию обернуть вызов ant в сценарии bash, существует распространенная практика импорта файлов свойств.

В основной файл сборки вы положили:

<property file="default.properties" />

Затем у вас есть файл с именем default.properties.sample с примером конфигурации. Это проверяется в управлении версиями. Разработчики проверяют default.properties.sample, копируют его в default.properties и редактируют в соответствии со своими потребностями.

Вы должны установить флаг игнорирования по умолчанию для default.samples, чтобы предотвратить его случайную регистрацию (svn: игнорировать с подрывной деятельностью).

...