Ant-build-project
Ant-プロジェクトの構築
Antのデータ型について学習したので、今度はその知識を実行に移します。 この章ではプロジェクトをビルドします。 この章の目的は、javaクラスをコンパイルしてWEB-INF \ classesフォルダーに配置するAntファイルを構築することです。
次のプロジェクト構造を考慮してください-
- データベーススクリプトは db フォルダーに保存されます。
- Javaソースコードは src フォルダーに保存されます。
- 画像、js、META-INF、スタイル(css)は war フォルダーに保存されます。
- JSPは jsp フォルダーに保存されます。
- サードパーティのjarファイルは lib フォルダーに保存されます。
- Javaクラスファイルは WEB-INF \ classes フォルダーに保存されます。
このプロジェクトは、このチュートリアルの残りの部分で Hello World Faxアプリケーションを形成します。
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
このプロジェクトに必要なbuild.xmlは次のとおりです。 少しずつ考えてみましょう。
<?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>
まず、ソース、Web、およびビルドフォルダーのプロパティをいくつか宣言します。
<property name = "src.dir" value = "src"/>
<property name = "web.dir" value = "war"/>
<property name = "build.dir" value = "${web.dir}/WEB-INF/classes"/>
この例では-
- src.dir は、javaソースファイルがあるプロジェクトのソースフォルダーを指します。
- web.dir は、JSP、web.xml、css、javascriptおよびその他のWeb関連ファイルを見つけることができるプロジェクトのWebソースフォルダーを指します。
- build.dir は、プロジェクトのコンパイルの出力フォルダーを指します。
プロパティは他のプロパティを参照できます。 上記の例に示すように、 build.dir プロパティは web.dir プロパティへの参照を作成します。
この例では、 src.dir はプロジェクトのソースフォルダーを指します。
プロジェクトのデフォルトのターゲットは compile ターゲットです。 しかし、最初に clean ターゲットを見てみましょう。
クリーンターゲットは、名前が示すとおり、ビルドフォルダー内のファイルを削除します。
<target name = "clean" description = "Clean output directories">
<delete>
<fileset dir = "${build.dir}">
<include name = "**/*.class"/>
</fileset>
</delete>
</target>
master-classpathは、クラスパス情報を保持します。 この場合、ビルドフォルダーのクラスとlibフォルダーのjarファイルが含まれます。
<path id = "master-classpath">
<fileset dir = "${web.dir}/WEB-INF/lib">
<include name = "*.jar"/>
</fileset>
<pathelement path = "${build.dir}"/>
</path>
最後に、ファイルをビルドするビルドターゲット。 まず、ビルドディレクトリが存在しない場合は作成します。 次に、javacコマンドを実行します(ターゲットコンパイルとしてjdk1.5を指定します)。 ソースフォルダーとクラスパスをjavacタスクに提供し、ビルドフォルダーにクラスファイルをドロップするように依頼します。
<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>
このファイルでAntを実行すると、Javaソースファイルがコンパイルされ、ビルドフォルダーにクラスが配置されます。
次の結果は、Antファイルを実行した結果です-
C:\>ant
Buildfile: C:\build.xml
BUILD SUCCESSFUL
Total time: 6.3 seconds
ファイルはコンパイルされ、 build.dir フォルダーに配置されます。