Любой способ автоматически сгенерировать файл ant build.xml из Eclipse? - PullRequest
77 голосов
/ 15 ноября 2010

Из Eclipse я нашел Я могу легко экспортировать файл сборки Ant для моего проекта .Он предоставляет ссылки на сторонние библиотеки и некоторые базовые цели.Я использую его из моего глобального файла сборки.Единственное, что меня беспокоит, это то, что если что-то изменить в структуре проекта (например, добавить новую стороннюю библиотеку), мы должны подумать (да, иногда это может быть сложно!) О восстановлении этого файла build.xml. Мне интересно, знает ли кто-нибудь здесь способ его автоматического обновления. Под "автоматически" я имею в виду, что нет необходимости явно просить Eclipse обновлять его каждый раз, когда это необходимо.Хотя я не знаю, что может послужить причиной ...

Есть какие-нибудь мысли или знания по этому поводу?

Спасибо!

МДж

Ответы [ 7 ]

70 голосов
/ 15 ноября 2010

Щелкните правой кнопкой мыши по проекту Eclipse, затем «Экспорт», затем «Общие», затем «Файлы сборки Ant».Я не думаю, что возможно настроить выходной формат, хотя.

5 голосов
/ 22 сентября 2011

Я пытался сделать то же самое сам.Я обнаружил, что «Экспорт файла сборки Ant» запускается в файле org.eclipse.ant.internal.ui.datatransfer.AntBuildfileExportPage.java.Это находится в плагине org.eclipse.ant.ui.

Чтобы просмотреть источник, используйте перспективу разработки плагинов и откройте представление плагинов.Затем щелкните правой кнопкой мыши плагин org.eclipse.ant.ui и выберите «Импортировать как> исходный проект».

Мой план состоит в том, чтобы создать Java-программу для программного запуска генерации сборочного файла ant и вызвать ее в Antкаждый раз, когда я собираю файл, добавляя файл ant к сборщикам моих проектов (щелкните правой кнопкой мыши настройки проекта, на вкладке сборщиков).

4 голосов
/ 29 апреля 2015

У меня была такая же проблема, наша рабочая среда основана на Java-проектах Eclipse, и нам нужно было автоматически создать файл ANT, чтобы мы могли использовать сервер непрерывной интеграции (в нашем случае Jenkins).

Мы развернули наш собственный инструмент Eclipse Java to Ant, который теперь доступен на GitHub:

муравей-сборка-для-Java

Чтобы использовать это, звоните:

java -jar ant-build-for-java.jar <folder with repositories> [<.userlibraries file>]

Первый аргумент - это папка с репозиториями. Он будет искать в папке рекурсивно любой файл .project. Инструмент создаст build.xml в указанной папке.

Дополнительно, вторым аргументом может быть экспортированный файл .userlibraries из Eclipse, необходимый, когда в любом из проектов используются пользовательские библиотеки Eclipse. Инструмент был протестирован только с пользовательскими библиотеками, использующими относительные пути, именно так мы используем их в нашем репо. Это означает, что JAR-файлы и другие архивы, необходимые для проектов, находятся внутри проекта Eclipse, и на них есть ссылки.

Инструмент поддерживает только зависимости от других проектов Eclipse и от пользовательских библиотек Eclipse.

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

Если все, что вам нужно, это записи пути к классам, я делаю что-то вроде следующего, чтобы использовать путь сборки eclipse.

<xmlproperty file=".classpath" collapseAttributes="true" delimiter=";" />

Затем установите это значение в пути

<path id="eclipse.classpath">
    <pathelement path="${classpath.classpathentry.path}"/>
</path>


<target name="compile" depends="init">

    <javac srcdir="${src}" destdir="${build}" updatedProperty="compiled">
        <classpath refid="eclipse.classpath"/>
    </javac>
</target>
2 голосов
/ 19 ноября 2010

Взгляните на файл .classpath в вашем проекте, который, вероятно, содержит большую часть необходимой вам информации. Самым простым вариантом может быть свернуть ваш собственный «экспорт build.xml», т.е. обработать .classpath в новый build.xml во время самой сборки, а затем вызвать его с помощью подзадачи ant.

Для меня немного проще разобрать XML, чем подключиться к Eclipse JDT.

1 голос
/ 21 февраля 2014

Я - тот, кто подарил экспортный фильтр Ant для Eclipse.Я добавил функцию автоматического экспорта, но только в свой личный плагин eclipse2ant , который я до сих пор поддерживаю для координации исправлений ошибок.

К сожалению, у меня нет времени объединить его с официальным Eclipseстроит.

0 голосов
/ 19 декабря 2017
  • Выберите Файл> Экспорт из главного меню (или щелкните правой кнопкой мыши имя проекта и выберите Экспорт> Экспорт ... ).
  • В диалоговом окне экспорта выберите Общие> Файлы сборки Ant следующим образом: enter image description here

  • Нажмите Далее . На экране «Создать муравей»:

    • Проверьте проект в списке.
    • Снимите флажок «Создать цель для компиляции проекта с использованием компилятора Eclipse» - потому что мы хотим создать файл сборки, независимый от Eclipse.
    • Оставьте имя для файла сборки Ant по умолчанию: build.xml

enter image description here

  • Нажмите Готово , Eclipse сгенерирует файл build.xml в каталоге проекта следующим образом:
    enter image description here
  • Дважды щелкните файл build.xml, чтобы открыть его содержимое в редакторе Ant: enter image description here

источник

...