1. Обзор
ANT - это инструмент, который соединяет компиляцию программного обеспечения, тестирование, развертывание и другие шаги для автоматизации, в основном для разработки программного обеспечения в среде Java. В реальной разработке программного обеспечения есть много мест для использования муравья.
Среда развития:
Код кода копирования следующим образом:
Система: Windows
JDK: 1,6+
IDE: Eclipse
Муравей: 1.9.1
Во -вторых, преимущества
ANT -это подпроект в каталоге Jakarta Foundation от Apache.
1. Cross -Platform: Ant написан на чистом языке Java, поэтому он имеет хороший перекрестный платформ.
2. Простая операция: ANT состоит из встроенной задачи и необязательной задачи. Ant требует XML -файла (сборки файлов). Муравей может выполнять различные задачи, вызывая целевое дерево. Каждая задача реализует конкретные объекты интерфейса.
3. Простое обслуживание, хорошее читаемость и просто интегрированные: поскольку файлы ANT, встроенные файлы, файлы формата XML просты в обслуживании и записи, а структура очень ясна. Муравей может интегрироваться в среду разработки. Поскольку ANT -перекрестные и простые характеристики работы ANT легко интегрироваться в некоторые среды разработки.
В -третьих, установка и конфигурация
1. Скачать Ant, http://mirror.esocc.com/apache/ant/binaries/apache-nt-nt-9.1bin.zip
2. Разарнируйте пакет сжатия Zip и поместите сжатый пакет, который вы хотите разместить каталог, который вы хотите разместить. Я размещаю его здесь, в D: /Apache-at-1.9.1, структура каталогов заключается в следующем:
BIN - это программа ANT, работающий на входе.
Например: запустить Ant.Bat в CMD для выполнения программы.
Все выходные шаблоны XSL хранятся в каталоге ETC, создавая улучшенный экспортный вывод XML различных задач, чтобы ваши файлы сборки избавились от устаревших предупреждений
Что хранится в каталоге LIB, так это пакет JAR, от которого необходимо зависеть программа ANT
Ручной каталог - это справочный документ программы ANT
3. В моем компьютере> Свойства правой кнопкой мыть
Новая система переменная ant_home = d: /apache-at-1.9.1
Таким образом, переменная среды настроена, но предпосылка, необходимая для настройки переменной среды JDK. Если вы не настраиваете переменную среды JDK, то сначала настройте переменную JDK. Метод конфигурации среды JDK выглядит следующим образом:
(1) Установите JDK в свой каталог по умолчанию: C:/Program Files/Java/JDK1.5.0_05 (ни jdk не идет на официальный скачать)
C:/Program Files/Java/JDK1.5.0
Роль: Расскажите системе JVM, где находится JVM
(2) Право -Напишите мой компьютер, выберите атрибуты, расширенные, переменные окружающей среды
(3) Недавно построенный на системной полосе переменной панели, появляется новая система с переменной системной переменной, и Java_home заполняется в имени переменной, значение переменной: C:/Program Files/Java/JDK1.5.0_05
(4) После подтверждения создайте новую переменную обстановку Classpath в столбце (ы) системной переменной.
(5) После подтверждения найдите и выберите опцию с переменной в качестве пути в столбце «Системная переменная».
%Java_home%/bin
Если не найдены переменные пути, создайте новый новый!
Если вы не хотите работать в каталог, где класс находится каждый раз, когда вы запускаете, а затем выполняете команду Java, вы можете поместить все файлы класса в организацию Unified Directory, а затем добавить этот каталог в ClassPath.
Тестовый код заключается в следующем:
Код кода копирования следующим образом:
открытый тест класса {
Public static void main (string [] args) {{
System.out.println («Привет, мир!»);
}
}
После того, как редактор блокнота отредактирован как файл test.java (имя файла и то же имя), откройте окно командной строки,
CD в каталог, где находится файл:
Код кода копирования следующим образом:
Javac Test.java // Компиляции
Java Test // выполнить программу
Если вывод: Hello World!
В -четвертых, испытательный муравей
Введите муравей в окне DOS, работающий с CMD, как показано на рисунке:
Если это появляется, то поздравляю с вашей установкой! В противном случае это не удастся, и проверьте предыдущие шаги неправильно. Приведенная выше команда выполнит программу ANT, а ANT выполняет задачу в Build.xml по умолчанию.
Если установка не сбои, посмотрите, есть ли некоторые ситуации:
1. Нет конфигурации java_home или ошибка конфигурации, и java_home/bin/java.exe существует
2. Нет конфигурации ANT_HOEM или ошибка конфигурации, и ANT_HOME/BIN/ANT.BAT существует
3. Проверьте переменные пути переменных вашей среды, есть древесина и конфигурация ...;%ang_home%/bin;
%Path%= ... может быть, другой входы ...;%ant_home%/bin;
5. Работа муравья
Когда ANT запускает команду, иногда появляются некоторые библиотеки парков. Эти библиотеки будут существовать в каждом проекте ANT, поэтому в настоящее время мы можем поместить этот пакет JAR в каталог ANT_HOME/LIB в качестве глобальной библиотеки.
Если вы не хотите «загрязнять» оригинальную программу ANT, вы можете поместить пакет JAR в текущий каталог пользователей Windows. Без приведенного выше каталога его можно установить вручную.
Если вы просто хотите временно добавить LIB и не хотите добавлять LIB в текущую инженерную инженерию. Вы можете указать зависимый параметр LIB при запуске программы ANT.
В то же время вы также можете добавить свой проект, чтобы JAR Package в текущем каталоге Project Project Project.
6. Ant Command
Описание грамматического элемента следующим образом:
-Помощь
Показать информацию о справке команды ANT и ее параметров
-Поджактелп
Дисплей содержит справочный документ, написанный всеми пользователями в конструктивном файле. То есть текст атрибута описания в каждом <Target> и любого текста, включенного в элемент <socdian>. Целью атрибута описания является основная цель (основная цель), а цель без этого атрибута указана как подсадка.
-Версия
Требуется отобразить информацию о версии, а затем выйти.
-тихий
Ингибирование не является большинством новостей, сгенерированных задачей ECHO в строительном файле.
-Вербозе
Отобразите подробные сообщения каждой операции во время процесса строительства. Эта опция может быть выбрана только с опцией -debug.
-Отлаживать
Показать разработчики муравей и задач уже отмечают сообщения для отладки сообщений. Эта опция может выбрать только один из них с -вербозе.
-ЭМАК
Форматируйте сообщения журнала так, чтобы их можно было легко проанализировать с помощью Shellmode Emacs;
-Logfile filename
Сбросьте вывод журнала в указанный файл.
-Logger ClassName
Укажите класс для обработки журнала Ant. Указанный класс должен реализовать интерфейс org.apache.tools.ant.buildlogger.
-Лисер класс
Объявить класс мониторинга и увеличить его в списке слушателей. Этот вариант очень полезен, когда интегрированы ANT и IDE или другие программы Java. Вы можете прочитать главу 6, чтобы понять больше информации о руководителе. Указанный класс прослушивания должен быть написан как обработка строительного сообщения, которое может обрабатывать муравей.
-BuildFile FileName
Укажите строительный файл, который необходим для обработки. Файл строительства по умолчанию - build.xml.
-Dproperty = значение
Определите характерное имя -Value Pare в командной строке.
-Find filename
Укажите строительный файл, который должен быть обработан. В отличие от опций BuildFile, если указанный файл не найден в текущем каталоге, -Финд требуется для поиска в своем родительском каталоге. Этот поиск будет продолжать выполняться в его наследственном каталоге до корня файловой системы, и, если файл не был найден, конструкция не выполняется.
-Tuoproxy jdk1.5 или более может использовать настройки агента
-Nouserlib не использует пакет JAR в пользовательском LIB при запуске
-Nice Design Приоритет основного потока
-logfile использует указанный журнал журнала
-Noinput не разрешает интерактивный вход
-Кэп -ведение, выполнение -k не зависит от всех целей
-Попертифил
Код кода копирования следующим образом:
<проект default = "all">
<имя свойства = "pro_a" value = "a value" />
<имя свойства = "pro_b" value = "b value" />
<path id = "rt.phth">
<Pathlement local = "$ {java.home} /jre/lib/rt.jar"/>
</Path>
<target name = "all">
<javac srcdir = ".">
<classpath refid = "a.path" />
</javac>
</target>
</project>
Уведомление:
● Все конструктивные файлы должны иметь элементы <project> и, по крайней мере, один элемент <Target>.
● Атрибут по умолчанию для элемента <Project> не обязательно требует значения по умолчанию.
● Строительные файлы не должны быть названы Build.xml. Но build.xml - это имя файла по умолчанию, которое муравья хотят искать.
● Каждый строительный файл может иметь только один элемент <Project>.
Введите текущий код копии каталога Build.xml в окне CMD следующим образом:
муравей
Запустите ant в build.xml в текущем каталоге для выполнения целей по умолчанию.
Код кода копирования следующим образом:
Ant -BuildFile Build -test.xml
Запустите Ant в Build-test.xml в текущем каталоге, чтобы выполнить цель по умолчанию.
Код кода копирования следующим образом:
Ant -BuildFile Build -test.xml чистый
Запустите Ant в Build-test.xml в текущем каталоге и выполните цель, называемую чистым.
Код кода копирования следующим образом:
Ant -BuildFile Build -test.xml -dbuild = Build/Classe Clean
Запустите ANT в Build-test.xml в текущем каталоге, выполните цель, называемую чистым, и установите значение атрибута сборки для сборки/классов.
7. Сценарий муравья: используйте узлы, элементы и атрибуты, инструкции по командам
1. Элемент проекта узла
Элемент проекта является корневым элементом файла компонентов муравья. В каждом элементе проекта могут быть включены несколько целевых элементов. Следующее шоу читателей атрибуты элемента проекта.
● Атрибуты имени: имя для указания элемента проекта.
● Атрибут по умолчанию: имя целевого выполнения Dearget, когда проект выполняется по умолчанию.
● Атрибут на основе: используется для указания позиции базового пути. Когда этот атрибут не указан, в качестве справочного каталога используется вложение файла компонентов муравьев.
Код кода копирования следующим образом:
<?
<имя проекта = "Ant-Project" default = "print-dir" bases = ".">
<target name = "print-dir">
<echo message = "Базовый DIA: $ {basedir}" />
</target>
</project>
Из приведенного выше примера можно увидеть, что значение свойства по умолчанию здесь является печатной, то есть при запуске команды ANT, если цель не указана, будет выполнена цель по умолчанию (Print-DIR). Кроме того, значение атрибута на основе ".
2. Элемент целевого узла
Целью является основная единица выполнения или задача муравья, которая может содержать один или несколько конкретных единиц/задач. Многочисленные цели могут иметь взаимную зависимость. У него есть следующие атрибуты:
● Атрибут имени: Укажите имя целевого элемента, который уникален в элементе проекта. Мы можем указать цель, указав имя целевого элемента.
● Зависит от атрибута: он используется для описания зависимости между целями. ANT выполнит каждую цель в соответствии с порядком цели в свойстве зависит, и зависимая цель будет выполнена первой.
● Если атрибут: он используется для проверки того, что указанный атрибут существует.
● Если атрибут: функция этого атрибута является противоположностью функции атрибута IF.
● Описание Атрибут: Этот атрибут представляет собой краткое описание и описание целевой функции.
Пример:
Код кода копирования следующим образом:
<?
<имя проекта = "ant-the-therget" default = "print">
<target name = "version" if = "ant.java.version">
<echo message = "java версия: $ {ant.java.version}" />
</target>
<target name = "print" зависит = "версия", если = "docs">
<Описание>
Пример в зависимости от!
</description>
<echo message = "Базовый DIA: $ {basedir}" />
</target>
</project>
Из следующих результатов мы видим, что мы запускаем цель печати. 1.6 ", после выполнения версии, затем выполняется, потому что DOCS не существует, и если атрибут не входит в цель, когда нет существования. Можно видеть, что печатная форма может выполнить выполнение, выводная информация:" [echo] Базовый режиссер IS: D: D:/Workspace/Antexample/Build ».
3. Элемент узла атрибута свойства
Элементы свойства можно рассматривать как определение параметров или параметров. Если вы хотите ввести файл снаружи, например, файлы build.properties, вы можете процитировать его по следующему контенту:
<свойства file = "build.properties"/>/>
Элементы свойства могут использоваться в качестве значения атрибута задачи. В задаче это достигается путем размещения имен атрибутов между $ {именем атрибута} и помещена в положение значения атрибута задачи.
ANT обеспечивает некоторые атрибуты. В то же время ANT также предоставляет некоторые из своих собственных атрибутов, следующим образом:
Основанный: абсолютный путь базового списка проекта;
Ant.file: абсолютный путь Buildfile.
Ant.version: информация о версии ANT, эта статья составляет 1.8.1;
ant.project.name: имя текущего указанного проекта, то есть значение свойства имени проекта, упомянутого ранее;
Ant.java.version: версия JDK, обнаруженная Ant, эта статья составляет 1.6.
Например, следующим образом:
Код кода копирования следующим образом:
<имя проекта = "Ant-project" default = "Пример">
<имя свойства = "name" value = "jojo" />
<имя свойства = "age" value = "25" />
<target name = "Пример">
<echo message = "name: $ {name}, возраст: $ {age}" />
</target>
</project>
В приведенном выше примере пользователь устанавливает два атрибута с именем именем.
4. Копировать команду
Копия в основном используется для копирования файла и каталога. Например, следующим образом:
● Скопируйте один файл:
Код кода копирования следующим образом:
<copy file = "old.txt" tofile = "new.txt"/>
● Скопируйте файл каталог:
Код кода копирования следующим образом:
<копия сегодня = "../ dest_dir">
<fileSet dir = "src_dir"/>
</copy>
● Скопируйте файл в другой каталог:
Код кода копирования следующим образом:
<copy file = "src.txt" todir = "c:/base"/>
5. Удалить команду
Удалить файл или каталог следующим образом:
● Удалить файл:
Код кода копирования следующим образом:
<delete file = "/res/images/cat.jpg"/>
● Удалить каталог:
Код кода копирования следующим образом:
<delete dir = "/res/image"/>
● Удалить все файлы JAR или пустой каталог:
Код кода копирования следующим образом:
<delete includeemptydirs = "true">
<fileSet dir = "." Включает = "**/*.
</delete>
6. Mkdir Command
Создать каталог.
Код кода копирования следующим образом:
<mkdir dir = "/home/philander/build/classes"/>/>
7. Команда переместить
Переместите файлы или каталог следующим образом:
● Переместите один файл:
Код кода копирования следующим образом:
<move file = "source" tofile = "destfile"/>/>
● Переместите один файл в другой каталог:
Код кода копирования следующим образом:
<move file = "source" todir = "mostir"/>/>
● Переместите каталог в другой каталог:
Код кода копирования следующим образом:
<ход сегодня = "newdir">
<fileSet dir = "olddir"/>
</move>
8. Echo Command
Роль этой задачи заключается в выводе информации на основе уровня журнала или монитора. Он включает в себя четыре атрибута: сообщение, файл, Apend и уровень.
<echo message = "ant message" file = "/logs/ant.log" append = "true">
9. Элемент узла JAR TAG
Этот тег используется для генерации файла JAR, который выглядит следующим образом.
● Destfile указывает имя файла JAR.
● BasedIR представляет имя файла архивированного.
● Включает указывает режим файла не архивирования.
● Обмен представляет собой исключающий режим файла.
● Сжатие указывает, сжат ли он.
Пример:
Код кода копирования следующим образом:
<jar destfile = "$ {webroot}/$ {osh_jar}" level = "9" compression = "true" encoding = "utf-8" basedir = "$ {dest}">
<Manifest>
<attribute name = "varualtion-value =" Версия: 2.2 "/>
</manifest>
</jar>
Приведенный выше основной фест-это содержимое содержимого файла в manifest.mf в мясо-inf в пакете банки
Такая же операция упаковки - War, TGZ и операция декомпрессии Uzip
Код кода копирования следующим образом:
<!-Создать Zip->
<zip baseness = "$ {basedir}/class" zipfile = "temp/output.zip"/>/>
<!-Создать TGZ->
<gzip src = "classses/**/*. class" zipfile = "output.class.gz"/>
<!
<Unzip src = "output.class.gz" dest = "extractdir"/>
<!-Создать военный пакет->
<war destfile = "$ {webroot} /ash.war" basedir = "$ {basedir} /web" webxml = "$ {basedir} /web/web.xml" >>
<exklide name = "web-inf/class/**"/>
<exklide name = "web-inf/lib/**"/>
<exclude name = "web-inf/work/_jsp/**"/>
<lib dir = "$ {lib.dir}" включает = "**/*. jar, **/*. Итак, **/*. dll">
<exclude name = "$ {webroot}/$ {helloworld_jar}"/>
</lib>
<lib file = "$ {webroot}/$ {helloword_jar}"/>
<классы dir = "$ {dest}" incluct = "**/*. xml, **/*. Proucties, **/*. xsd"> </classses>
</War>
10. Элемент узла джавака.
Метка используется для составления одного или группы файлов Java, а его атрибуты следующие.
● Srcdir представляет каталог исходной программы.
● Destdir представляет выходной каталог файла класса.
● Включите, представляющий шаблон скомпилированного файла.
● Исключение представляет шаблон файлов, который исключен.
● Путь Classpath представляет используемый путь класса.
● Отладка представляет собой информацию о отладке.
● Оптимизация указывает, использовать ли оптимизация.
● Переработающая информация представляет подробную информацию о выводе.
● FileOnerror сказал автоматически, когда он столкнулся с ошибкой.
Пример кода копирования код следующего:
<javac srcdir = "$ {src}" destdir = "$ {dest}"/>
<!- Установите память JVM
<javac srcdir = "src" fork = "true"/>
<javac srcdir = "src" fork = "true" executable = "d:/sdk141/bin/javac"
MemoryMaximumSize = "128M"/>
->
11. Элемент узла джава
Эта метка используется для выполнения составленного файла .class, и его атрибуты следующие.
● Classname представляет имя исполнения.
● JAR означает имя файла JAR, содержащего этот класс.
● Путь Classpath выразил используемый путь класса.
● Вилка означает запуск этого класса в новой виртуальной машине.
● FailOnerror сказал автоматически, когда произошла ошибка.
● Вывод указывает выходной файл.
● APEND указывает на добавление или охватывает файл по умолчанию.
Пример кода копирования код следующего:
<java classname = "com.hoo.test.helloworm" classpath = "$ {hello_jar}"/>
12. Элемент параметра данных ARG
Программа, вызванная ANT, может передать параметры командной строки в нее через элемент <rg>, такие как задачи применения, EXEC и Java, которые могут быть приняты с помощью вложенных элементов <rg>, и может указать указанные параметры для их соответствующих процессов Полем Вот все атрибуты <grag>.
● Значения - это параметр команды. Если в параметре есть место, но если вы хотите использовать его в качестве единого значения, используйте этот атрибут.
● Файл представляет имя файла параметра. При построении файла имя этого файла относительно текущего рабочего каталога.
● Линия указывает несколько параметров пространства, разделенного пространствами.
● Выразите путь, похожий на путь строку, которая используется в качестве одной переменной командной строки;
● Путь с указанием ссылки (с использованием пути определения узла элемента пути) идентификатор
● Префикс префикс ● Суффикс суффикс
Пример кода копирования код следующего:
<arg value = "-la -a"/>
Это единая переменная командной строки, содержащая пространство.
Код кода копирования следующим образом:
<arg line = "-la -a"/>
Это переменная командной строки, разделенная двумя пространствами.
Код кода копирования следующим образом:
<arg path = "/dir;/dir2:/dir3"/>
Это переменная командной строки, а ее значение -/dir;/dir2;/dir3 в системе DOS;/dir:/dir2:/dir3 в системе UNIX.
13. тип эрико
Внешние команды или программы, называемые файлом, называемым ANT, и элемент <Ent> формулирует, какие переменные среды должны быть переданы в команды системы, которые выполняются.
● Файл представляет имя файла значения окружающей среды. Имя этого файла является абсолютным путем, который будет преобразован.
● Путь представляет путь переменной среды. ANT преобразует его в местное соглашение.
● Значение представляет прямую переменную переменной среды.
● Ключ означает имя переменной среды.
Обратите внимание на путь файла или значение, которые могут занять только один.
14. Список сбора файлов FileList
FileList - это тип данных, который поддерживает списки файлов именования. Вот все его атрибуты.
● DIR - это каталог для расчета абсолютного имени файла.
● Файлы - это список файлов, разделенных запятыми.
● РАФИД - это ссылка на <FILELIST>, определенную в определенном месте.
Обратите внимание, что DIR и файлы необходимы, если DIR и файлы не разрешаются использовать, если они не указаны в этом случае).
Пример кода копирования код следующего:
<filelist id = "docfiles" dir = "$ {doc.src}" files = "foo.xml, bar.xml"/>
Коллекция файлов $ {doc.src} /foo.xml и $ {doc.src} /bar.xml.
<filelist id = "docfiles" dir = "$ {doc.src}" files = "foo.xml bar.xml"/>
<fileList RefiD = "DocFiles"/>
<filelist id = "docfiles" dir = "$ {doc.src}">
<имя файла = "foo.xml"/>
<file name = "bar.xml"/>
</filelist>
15. Тип файла файла файла
Тип данных набора файлов определяет набор файлов и обычно выражается как элемент <FileSet>. Тем не менее, многие задачи ANTS создали скрытый набор файлов, который показывает, что они поддерживают все атрибуты набора файлов и вложенные элементы. Ниже приведен список атрибутов набора файлов.
● DIR представляет базовый каталог набора файлов.
● Если значение случаев случаев неверно, то, когда соответствует имени файла, набор файлов не отличается от случая, а его значение по умолчанию верно.
● Delaultexcludes используется для определения того, использовать ли режим исключения по умолчанию, и по умолчанию верно.
● Исключает список файлов, который необходимо отправлять с разделением запятой.
● ExcludesFile представляет имя файла файла, который содержит режим исключения на строку.
● Включает в себя разделен запятой, и список шаблонов файлов, который необходимо включить.
● Включает в себя файл, что каждая строка включает имя файла, содержащее режим.
Пример кода копирования код следующего:
<fileset id = "lib.runtime" dir = "$ {lib.path}/runtime">
<includ name = "**/*. jar"/>
<includ name = "**/*. So"/>
<includ name = "**/*. dll"/>
</fileSet>
<fileset id = "lib.container" dir = "$ {lib.path}/intainer">
<includ name = "**/*. jar"/>
</fileSet>
<fileset id = "lib.extras" dir = "$ {lib.path}">
<includ name = "test/**/*. jar"/>
</fileSet>
16. Тип шаблона
Набор файлов - это пакет файлов, а шаблоны упакованы в шаблоны.
<tlempleSet> поддерживает 4 атрибута: включает, Excludex, включите, включает в себя, excludeSfile, которые такие же, как набор файлов.
PatternSet также позволяет следующим вложенным элементам: включить, исключить, включать File и ExcudEsFile.
Пример кода копирования код следующего:
<!-черно-белый список->
<Patternset id = "non.test.sources">
<includ name = "**/*. java"/>
<!-Имя файла содержит исключение Test->
<exklide name = "**/*test*"/>
</PatternSet>
<PatternSet id = "Источники">
<includ name = "std/**/*. java"/>
<!-Судя по состоянию того, что есть простирание, чтобы представить->
<includ name = "Prof/**/*. Java" if = "Professional"/>/>
<exklide name = "**/*test*"/>
</PatternSet>
<!-набор файлов->
<PatternSet включает в себя file = "Some-File"/>
<PatternSet>
<incluct-file name = "немного свободного"/>
<PatternSet/>
<PatternSet>
<incluct-file name = "немного свободного"/>
<incluct-file name = "$ {some-meher-file}" if = "без среднего"/>>
<PatternSet/>
17. Тип фильтра
Filterset определяет набор фильтров, которые заменяют текст файла, когда файл перемещается или копирует.
Основные атрибуты заключаются в следующем:
● Betintoken указывает на знак, который искал вложенного фильтра, который является строкой, которая идентифицирует его.
● EndToken указывает, что знак, поиск в вложенном фильтре, представляет собой строку, которая идентифицирует его конец.
● ID - единственный логотип фильтра.
● RefID - это ссылка на фильтр где -то в строительном файле.
Пример кода копирования код следующего:
<!-@date@заменяется@date@на текущую дату сегодняшнего дня в содержимое файла version.txt в целевом файле.
<copy file = "$ {build.dir} /version.txt" tofile = "$ {dist.dir} /version.txt">
<FilterSet>
<filter token = "date" value = "$ {сегодня}"/>
</filterset>
</copy>
<!-пользовательский формат переменной->
<copy file = "$ {build.dir} /version.txt" tofile = "$ {dist.dir} /version.txt">
<!-Начните поиск с позиции%в версии .txt до конца позиции*, и замените дату@в содержимое замены на значение текущей даты сегодня->>
<FilterSet BEDINTOKEN = "%" EndToken = "*">
<filter token = "date" value = "$ {сегодня}"/>
</filterset>
</copy>
<!-Используйте файл внешнего фильтра Файл->
<копирование сегодня = "$ {dist.dir}/docs">
<fileset dir = "$ {build.dir}/docs">
<includ name = "**/*. html">
</fileSet>
<FilterSet BEDINTOKEN = "%" EndToken = "*">
<!-Атрибуты и значения файлов вводятся извне, а атрибуты и значения грядущего
<filtersfile file = "$ {user.dir} /dist.properties" />
</filterset>
</copy>
<!-Используйте справочный метод, многократно используйте набор фильтров->
<filterset id = "myfilterset" betintoken = "%" endtoken = "*">
<filter token = "date" value = "$ {сегодня}"/>
</filterset>
<copy file = "$ {build.dir} /version.txt" tofile = "$ {dist.dir} /version.txt">
<filterset refic = "myfilterset"/>
</copy>
18. Тип пути
Элементы пути используются для представления класса, но его также можно использовать для представления других путей. При использовании в качестве нескольких атрибутов различные баллы или колоны в дорожном писании разделены. При построении этот сепаратор заменит все сепараторы пути на текущей платформе, и его атрибуты следующие.
● Расположение представляет файл или каталог. Муравей расширяет это в абсолютный путь внутри.
● RefID - это ссылка на путь, определенный в текущем конструктивном файле.
● Путь указывает список файлов или пути.
Пример кода копирования код следующего:
<path id = "buildpath">
<fileSet refic = "lib.runtime"/>
<fileSet refic = "lib.container"/>
<fileSet refic = "lib.extras"/>
</Path>
<path id = "src.paths">
<fileSet id = "srcs" dir = ".">
<includ name = "src/**/*. java"/>
</fileSet>
</Path>
8. Код кода компиляции упаковки и запуска инженерии заключается в следующем: следующее:
<?
<!-Имя-это имя текущего проекта.
<project name = "helloworld" default = "run" foundir = ".">
<!-свойство аналогично простой переменной в программе->
<propoperty name = "src" value = "src"/>
<name = "dest" value = "class"/>
<name = "hello_jar" value = "helloworld.jar"/>
<!-
Target - это событие, событие, задание, имя - это имя текущей вещи.
->
<!-инициализация->
<target name = "init">
<!
<mkdir dir = "$ {dest}"/>
<mkdir dir = "temp"/>
<mkdir dir = "temp2"/>
</target>
<!-компиляция->
<target name = "compile" зависит = "init">
<javac srcdir = "$ {src}" destdir = "$ {dest}"/>
<!- Установите память JVM
<javac srcdir = "src" fork = "true"/>
<javac srcdir = "src" fork = "true" executable = "d:/sdk141/bin/javac"
MemoryMaximumSize = "128M"/>
->
</target>
<!-<< 建->
<target name = "build" зависит = "компиляция">
<!-
<jar jarfile = "$ {hello_jar}" basedir = "$ {dest}"/>
Создайте имя для файла package.jar
<jar destfile = "package.jar" foundir = "classes"/>
->
<jar destfile = "$ {hello_jar}" basedir = "classses">
<!-Добавить контент в основной файл в пакете JAR->
<Manifest>
<attribute name = "supply-by value =" $ {user.name} "/>
<атрибут name = "main-class" value = "package.main"/>/>
</manifest>
</jar>
<!-Скопируйте файл jar todir = "Копировать в каталог"->
<copy file = "$ {hello_jar}" tofile = "$ {dest} /temp.jar" />
<копия todir = "test">
<!-defaultexcludes = ""->
<fileSet dir = "src">
<includ name = "**/*. java"/>
</fileSet>
</copy>
<copy todir = "temp2">
<fileSet dir = "src">
<И>
<содержать текст = "main"/>
<size value = "1" Когда = "больше"/>
</и>
</fileSet>
</copy>
<!-Mobile Jar File->
<move file = "$ {dest} /temp.jar" tofile = "temp/move-temp.jar"/>
<!-Создать Zip->
<zip baseness = "$ {basedir}/class" zipfile = "temp/output.zip"/>/>
<!-Создать TGZ->
<gzip src = "classses/**/*. class" zipfile = "output.class.gz"/>
<!
<Unzip src = "output.class.gz" dest = "extractdir"/>
<!
<Заменить файл = "input.txt" token = "old" value = "new"/>
->
</target>
<!
<target name = "run" зависит = "build">
<java classname = "com.hoo.test.helloworm" classpath = "$ {hello_jar}"/>
</target>
<!-ясно->
<target name = "clear">
<!-удалил сгенерированный файл->
<delete dir = "$ {dest}"/>
<delete file = "$ {hello_jar}"/>
</target>
<tstamp>
<Format property = "offset_time"
Pattern = "HH: MM: SS"
Offset = "10" Unit = "Minute"/>
</tstamp>
<!-перезапуск->
<target name = "raun" зависит = "clean, run">
<echo message = "### $ {tstamp}#$ {сегодня}#$ {dstamp} ###"/>
<liking target = "clean"/>
<liking target = "run"/>
</target>
</project>
Есть в основном так много вещей, которые можно сказать. Муравей не сложно. При определенных обстоятельствах эффективность и повторная работа были улучшены.