Извлечение зависимостей .classpath проекта eclipse в ant-скрипт - PullRequest
17 голосов
/ 29 июня 2011

У меня есть список проектов Eclipse, которые я хотел бы скомпилировать на основе существующей конфигурации проекта.

Насколько я могу судить, если сценарий ant может читать файлы .classpath, он довольно хорошуметь выводить зависимости проекта и выполнять компиляцию "javac" в правильном порядке.Это сэкономило бы время на повторное описание тех же зависимостей в скрипте ant или в файле Makefile.

Интересующие меня зависимости - это зависимости JAR, зависимости JRE и зависимости между проектами.Насколько я могу судить, они являются частью XML-файла .classpath.

Есть ли какие-либо идеи о том, как зависимости проекта Eclipse могут использоваться в сценарии ant?

Ответы [ 4 ]

18 голосов
/ 29 июня 2011

Щелкните правой кнопкой мыши по вашему проекту -> Экспорт "Общие / Ant Buildfiles".Выберите проекты, и все готово.

В противном случае ... У меня есть некоторый опыт работы с ant4eclipse, и мне сложно его стабилизировать.

Пойдите, чтобы проверить Buckminster или Maven Tycho для хорошего решения.

2 голосов
/ 03 апреля 2014

Если вы запускаете сценарий Ant только из затмения с использованием «Конфигурации внешних инструментов», вы можете добавить переменную $ {project_classpath} в путь к классам.

В зависимости от того, находитесь ли вы в проекте плагина и зависимостей, вам может понадобиться добавить $ {Eclipse_home}.

В случае возникновения ошибки при запуске Variable references empty selection: ${project_classpath} убедитесь, что выбран файл ant xml или хотя бы проект. Это важно.

2 голосов
/ 24 августа 2012

В настоящее время я использую Ivy вместе с Ant, Eclipse и Maven.

Мне просто нравится, как работает Айви.

В настоящее время у нас есть рабочее пространство со многими проектами, использующими Liferay (с Tomcat) для внешнего интерфейса и Glassfish для внутреннего.

Мы искали способ лучше управлять нашими зависимостями, чем то, как мы это делали.

Итак, я взял Ivy, заменил все пути к классам и зависимости развертывания в eclipse и смог построить мое приложение, используя 1 файл ivy на проект, используя Eclipse или Ant. Ivy интегрируется как муравейник в ant, и сборки выполняются либо из рабочей области, либо из командной строки.

Я настоятельно рекомендую вам взглянуть на этот проспект. Кроме того, добавив Artifactory, мы имеем локальный репозиторий, в котором файлы ivy ищут зависимости. Это помогает нам поддерживать и определять, какие банки должны использоваться разработчиками. После того, как все настроено, мы будем собирать наше приложение каждую ночь, используя Jenkins, и эти сборки будут использовать наш репозиторий Artifactory для разрешения зависимостей, поскольку наши серверы сборки не имеют доступа к Интернету.

Надеюсь, это помогло

1 голос
/ 29 июня 2011

Я считаю, что проект ant4eclipse предоставляет поддержку для выполнения сборок Ant на основе файлов метаданных Eclipse.

Однако, по моему мнению, это происходит задом наперед.Вы не должны иметь свою сборку (Ant) в зависимости от среды IDE (Eclipse).Но это полезно, если вы можете извлечь свою среду Eclipse из сборки Ant.

Этот подход успешно используется в команде, в которой я работал. У нас была вспомогательная цель Ant, которая применяла XLST для проецирования файлов build.xmlчтобы преобразовать их в Eclipse .classpath файлы.Таким образом, файлы Ant build.xml были единственной точкой конфигурации для наших проектов.

...