Извлечение зависимостей проекта .classpath проекта eclipse в ant script
У меня есть список проектов Eclipse, которые я хотел бы скомпилировать на основе существующей конфигурации проекта.
Насколько я могу судить, если ant script может читать файлы .classpath, он в значительной степени сможет вывести зависимости проекта и выполнить компиляцию "javac" в правильном порядке. Это сэкономит время при описании тех же зависимостей снова в ant script или Makefile.
Интересующие меня зависимости - это зависимости JAR, зависимости JRE и межпроектные зависимости. Это, насколько я могу судить, часть XML файла .classpath.
Любые идеи о том, как зависимости проекта Eclipse могли использоваться в ant script?
Ответы
Ответ 1
Щелкните правой кнопкой мыши на своем проекте → Экспорт
"Общие/Ant Buildfiles".
Выбирайте проекты и там вы идете.
В противном случае...
У меня есть некоторый опыт работы с ant4eclipse, и это хлопот, чтобы получить его стабильным.
Перейдите на проверку Buckminster или Maven Tycho для хорошего решения.
Ответ 2
В настоящее время я использую Ivy вместе с Ant, Eclipse и Maven.
Мне просто нравится, как работает Айви.
В настоящее время у нас есть рабочее пространство со многими проектами, использующее Liferay (с Tomcat) для front-end и Glassfish для внешнего сервера.
Мы искали способ управлять нашими зависимостями намного лучше, чем то, как мы это делали.
Итак, я взял Ivy, заменил все пути classpath и развертывания в eclipse и смог создать мое приложение, используя 1 файл плюса для каждого проекта, используя Eclipse или Ant.
Ivy интегрируется как шарм в ant, а сборки выполняются либо из рабочей области, либо из командной строки.
Я настоятельно рекомендую вам взглянуть на этот авеню. Добавляя, добавив Artifactory, у нас есть локальное хранилище, в котором файлы плющ ищут зависимости. Это помогает нам поддерживать и управлять тем, какие банки должны использоваться разработчиками. После того, как все будет настроено, мы будем строить наше приложение в ночное время с помощью Jenkins, и эти сборки будут использовать наш репозиторий Artifactory для разрешения зависимостей, поскольку наши серверы сборки не имеют доступа к Интернету.
Надеюсь, что это помогло
Ответ 3
Если вы используете Ant script только из затмения, используя "Настройки внешних инструментов", вы можете добавить переменную ${project_classpath} в путь к классам.
В зависимости от того, находитесь ли вы в проекте плагина и зависимостях, вам может потребоваться добавить
$ {Eclipse_home}.
Если вы получаете сообщение об ошибке Variable references empty selection: ${project_classpath}
, убедитесь, что выбран файл Ant xml или, по крайней мере, проект. Это важно.
Ответ 4
Я считаю, что проект ant4eclipse обеспечивает поддержку для выполнения сборки Ant на основе файлов метаданных Eclipse.
Однако, на мой взгляд, это делает все впереди. Вы не должны иметь свою сборку (Ant) в зависимости от среды IDE (Eclipse). Но полезно, если вы можете получить свою среду Eclipse из своей сборки Ant.
Это подход, который был успешно использован в команде, в которой я работал. У нас была целевая Ant цель, которая применяла XLST к проектам build.xml
для преобразования их в файлы Eclipse .classpath
. Таким образом, файлы Ant build.xml
были единственной точкой конфигурации для наших проектов.