Ant - projekty budowlane
Teraz, gdy poznaliśmy typy danych w Ant, nadszedł czas, aby wprowadzić tę wiedzę w życie. W tym rozdziale zbudujemy projekt. Celem tego rozdziału jest zbudowanie pliku Ant, który kompiluje klasy java i umieszcza je w folderze WEB-INF \ classes.
Rozważ następującą strukturę projektu -
Skrypty bazy danych są przechowywane w pliku db teczka.
Kod źródłowy Java jest przechowywany w pliku src teczka.
Obrazy, js, META-INF, style (css) są przechowywane w pliku war teczka.
Strony JSP są przechowywane w pliku jsp teczka.
Pliki JAR innych firm są przechowywane w lib teczka.
Pliki klas java są przechowywane w WEB-INF\classes teczka.
Ten projekt tworzy Hello World Aplikacja faksowa w pozostałej części tego samouczka.
C:\work\FaxWebApplication>tree
Folder PATH listing
Volume serial number is 00740061 EC1C:ADB1
C:.
+---db
+---src
. +---faxapp
. +---dao
. +---entity
. +---util
. +---web
+---war
+---images
+---js
+---META-INF
+---styles
+---WEB-INF
+---classes
+---jsp
+---lib
Oto plik build.xml wymagany dla tego projektu. Rozważmy to kawałek po kawałku.
<?xml version = "1.0"?>
<project name = "fax" basedir = "." default = "build">
<property name = "src.dir" value = "src"/>
<property name = "web.dir" value = "war"/>
<property name = "build.dir" value = "${web.dir}/WEB-INF/classes"/>
<property name = "name" value = "fax"/>
<path id = "master-classpath">
<fileset dir = "${web.dir}/WEB-INF/lib">
<include name = "*.jar"/>
</fileset>
<pathelement path = "${build.dir}"/>
</path>
<target name = "build" description = "Compile source tree java files">
<mkdir dir = "${build.dir}"/>
<javac destdir = "${build.dir}" source = "1.5" target = "1.5">
<src path = "${src.dir}"/>
<classpath refid = "master-classpath"/>
</javac>
</target>
<target name = "clean" description = "Clean output directories">
<delete>
<fileset dir = "${build.dir}">
<include name = "**/*.class"/>
</fileset>
</delete>
</target>
</project>
Najpierw zadeklarujmy niektóre właściwości dla folderów źródłowych, internetowych i kompilacji.
<property name = "src.dir" value = "src"/>
<property name = "web.dir" value = "war"/>
<property name = "build.dir" value = "${web.dir}/WEB-INF/classes"/>
W tym przykładzie -
src.dir odnosi się do folderu źródłowego projektu, w którym można znaleźć pliki źródłowe Java.
web.dir odnosi się do folderu źródłowego sieci WWW projektu, w którym można znaleźć strony JSP, web.xml, css, javascript i inne pliki związane z siecią
build.dir odnosi się do folderu wyjściowego kompilacji projektu.
Właściwości mogą odnosić się do innych właściwości. Jak pokazano w powyższym przykładzie, plikbuild.dir właściwość odwołuje się do web.dir własność.
W tym przykładzie src.dir odnosi się do folderu źródłowego projektu.
Domyślnym celem naszego projektu jest compilecel. Ale najpierw spójrzmy na plikclean cel.
Czysty cel, jak sugeruje nazwa, usuwa pliki w folderze kompilacji.
<target name = "clean" description = "Clean output directories">
<delete>
<fileset dir = "${build.dir}">
<include name = "**/*.class"/>
</fileset>
</delete>
</target>
Główna-ścieżka klas zawiera informacje o ścieżce klas. W tym przypadku obejmuje klasy w folderze kompilacji i pliki jar w folderze lib.
<path id = "master-classpath">
<fileset dir = "${web.dir}/WEB-INF/lib">
<include name = "*.jar"/>
</fileset>
<pathelement path = "${build.dir}"/>
</path>
Na koniec cel kompilacji do kompilowania plików. Przede wszystkim tworzymy katalog budowania, jeśli nie istnieje. Następnie wykonujemy polecenie javac (określając jdk1.5 jako naszą docelową kompilację). Dostarczamy folder źródłowy i ścieżkę klas do zadania javac i prosimy o upuszczenie plików klas w folderze kompilacji.
<target name = "build" description = "Compile main source tree java files">
<mkdir dir = "${build.dir}"/>
<javac destdir = "${build.dir}" source = "1.5" target = "1.5" debug = "true"
deprecation = "false" optimize = "false" failonerror = "true">
<src path = "${src.dir}"/>
<classpath refid = "master-classpath"/>
</javac>
</target>
Wykonanie Ant na tym pliku kompiluje pliki źródłowe Java i umieszcza klasy w folderze kompilacji.
Poniższy wynik jest wynikiem działania pliku Ant -
C:\>ant
Buildfile: C:\build.xml
BUILD SUCCESSFUL
Total time: 6.3 seconds
Pliki są kompilowane i umieszczane w build.dir teczka.