Ant-build-project

提供:Dev Guides
移動先:案内検索

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 フォルダーに配置されます。