Сведения о вопросе

Oleksandrop

13:20, 10th August, 2020

Теги

java   ant    

Лучший Шаблон Apache Ant

Просмотров: 372   Ответов: 7

Каждый раз, когда я создаю новый проект, я копирую файл ant последнего проекта в новый и делаю соответствующие изменения (пытаясь в то же время сделать его более гибким для следующего проекта). Но так как я действительно не думал об этом в самом начале, файл начал выглядеть действительно уродливо.

Есть ли у вас шаблон Ant, который можно легко перенести в новый проект? Есть ли советы/сайты для его создания?

Спасибо.



  Сведения об ответе

DINO

19:48, 29th August, 2020

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

Используйте ${ant.project.name} в именах файлов, поэтому вам нужно только упомянуть имя вашего приложения в элементе project. Например, если вы создадите myapp.jar:

<project name="myapp">
   ...
   <target name="jar">
      ...
      <jar jarfile="${ant.project.name}.jar" ...

Структурируйте исходную структуру каталогов таким образом, чтобы вы могли упаковать свою сборку, копируя целые каталоги, а не называя отдельные файлы. Например, если вы копируете файлы JAR в архив веб-приложения, сделайте что-то вроде:

<copy todir="${war}/WEB-INF/lib" flatten="true">
   <fileset dir="lib" includes="**/*.jar">
</copy>

Используйте файлы свойств для свойств файлов сборки для конкретных машин и проектов.

<!-- Machine-specific property over-rides -->
<property file="/etc/ant/build.properties" />

<!-- Project-specific property over-rides -->
<property file="build.properties" />

<!-- Default property values, used if not specified in properties files -->
<property name="jboss.home" value="/usr/share/jboss" />
...

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


  Сведения об ответе

PHPH

15:42, 19th August, 2020

Вы можете дать http://import-ant.sourceforge.net / попробовать. Это набор фрагментов файла сборки, которые можно использовать для создания простых пользовательских файлов сборки.


  Сведения об ответе

VERSUION

13:16, 25th August, 2020

Если вы работаете над несколькими проектами с похожими структурами каталогов и хотите придерживаться Ant вместо перехода к Maven, используйте задачу импорта . Это позволяет вам иметь файлы сборки проекта просто импортировать шаблон и определить любые переменные (classpath, зависимости, ...) и иметь все реальные сценарии сборки в импортированном шаблоне. Он даже позволяет переопределять задачи в шаблоне, что позволяет вам вставлять в проект определенные целевые крючки pre или post.


  Сведения об ответе

SKY

20:02, 9th August, 2020

У меня была та же проблема, и я обобщил свои шаблоны и вырастил их в свой собственный проект: Antiplate . Может быть, это также полезно для вас.


  Сведения об ответе

davran

21:00, 20th August, 2020

Раньше я поступал точно так же.... затем я переключился на maven . Maven использует простой файл xml для настройки сборки и простой репозиторий для управления зависимостями сборки (вместо того, чтобы проверять эти зависимости в системе управления версиями с помощью кода).

Одна из особенностей, которая мне очень нравится, - это то, как легко версировать ваши банки - легко сохранять предыдущие версии, доступные для устаревших пользователей вашей библиотеки. Это также работает в ваших интересах, когда вы хотите обновить библиотеку, которую вы используете-например, junit. Эти зависимости хранятся в виде отдельных файлов (с информацией об их версии) в вашем репозитории maven, поэтому старые версии вашего кода всегда имеют свои специфические зависимости.

Это лучший вариант Ant.


  Сведения об ответе

9090

13:03, 9th August, 2020

Раньше я поступал точно так же.... затем я переключился на maven.

О, это Maven 2. Я боялся, что кто-то все еще серьезно использует Maven в наши дни. Оставим шутки в стороне: если вы решили переключиться на Maven 2, вы должны быть осторожны при поиске информации, потому что Maven 2-это полное повторение Maven, с некоторыми фундаментальными дизайнерскими решениями, измененными. К сожалению, они не изменили название, что было большим источником путаницы в прошлом (и все еще иногда является таковым, учитывая "memory" природу сети).

Еще одна вещь, которую вы можете сделать, если хотите остаться в духе Ant, - это использовать Ivy для управления своими зависимостями.


  Сведения об ответе

JUST___

03:02, 5th August, 2020

Одна вещь, на которую стоит обратить внимание-если вы используете Eclipse, проверьте задачи ant4eclipse. Я использую один скрипт сборки, который запрашивает сведения, настроенные в eclipse (исходные dirs, путь сборки, включая проекты зависимостей, порядок сборки и т. д.).

Это позволяет управлять зависимостями в одном месте (eclipse) и по-прежнему иметь возможность использовать сборку командной строки для автоматизации.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться