Подтвердить что ты не робот

Как установить свойства Ant на основе переменных в Eclipse?

У меня общая проблема, и, вероятно, есть множество способов ее решения. Я ищу элегантное, простое решение этого типичного сценария:

У меня есть проект в Eclipse с файлом сборки Ant (build.xml), в файле сборки используется файл свойств (build.properties). В этом файле свойств я хочу установить свойство, указывающее на корневой каталог проекта eclipse, например:

project.root = /path/to/eclipse/workspace/projectName

или предпочтительно:

project.root = ${path.to.eclipse.workspace}/projectName

Как это сделать так, чтобы:

  • Работает на разных машинах с разными путями к корню проекта (т.е. в командной среде).
  • Позволяет выполнять Ant файл build.xml внутри eclipse
  • Позволяет выполнять Ant файл build.xml вне eclipse (т.е. из командной строки)
  • Позволяет создавать файл build.properties в директории, отличной от корня проекта
4b9b3361

Ответ 1

Я думаю, что я ищу, чтобы добавить в файл build.properties следующее:

project.root = ${basedir}

В качестве альтернативы, я могу просто использовать свойство basedir всякий раз, когда требуется project.root.

Мне довелось посмотреть исходный код для ivy.properties, и я увидел, что используется свойство basedir. Я только что проверил и проверил, что это свойство работает на разных машинах как из внутреннего затмения, так и из командной строки, а также при вызове ant из другого каталога, например:

ant -f /path/to/eclipse/workspace/projectName/build.xml

Когда я получу минута, я проверю, что это также работает при импорте файла свойств в разных местах (например, внутри src/main/resources/config/ivy/ivysettings.xml).

Ответ 2

См. Окно → Настройки → Ant → Время выполнения → Свойства для определения пользовательских свойств Ant, которые должны быть доступны для любого Ant script, вызванного из Eclipse. Просто задайте одно и то же свойство вручную при вызове script из командной строки.

Файл build.properties может существовать везде, где вам нравится. Используйте обычные объекты Ant, чтобы импортировать их в свой script.

Ответ 3

Для архива моего проекта.

ProjectName <dir>
 |_ ant <dir>
     |_ ant.xml

В вашем случае можно просто изменить файл ant xml, <project default="main" basedir="../"/>

Затем я могу получить корень проекта, используя переменную

например. <echo message= "Project Root: ${basedir}" />

Ответ 4

если вам нужно больше, чем тривиальный материал на основе =
Ant4Eclipse - вам может помочь куча ant задач для доступа к конфигурациям eclipse из ant -
. Просто используйте его как есть или grep код и выберите соответствующие части.

Ответ 5

Вы можете установить относительные свойства eclipse для ANT Build from eclipse

Перейдите в свойства ANT Builder и в разделе аргументов вы можете установить свойства, используя -D, как показано ниже

-Dworkspace="${workspace_loc}" -Dproject_dir="${project_loc}"

(здесь workspace_loc и project_loc являются переменными eclipse). Доступ к этим свойствам можно получить в ANT build script как обычные свойства, например:

<echo message="${workspace}" />
<echo message="${project_dir}" />

ссылка на скриншот