<?xml version="1.0" encoding="UTF-8"?>
<project name="你好世界" basedir=".">
<!-- 設置項目的名稱 可以自定義,
後面的代表項目所在目錄
這個點代表項目就在此文件的目錄下
如果二個點, 代表在build.xml文件的上級目錄
-->
<!--
用於定義一個屬性變量 name【項目的源文件所在的目錄,
以後我們通過此變量知道項目源文件所在的目錄】
value【裏邊引用的是上面的,和EL表達式寫法有點像,
在項目的src目錄下】
-->
<property name="src.dir" value="${basedir}/src"/>
<!--
也是一個屬性指向到操作系統裏的系統變量,?因爲我們要從系統
環境變量裏得到變量值
-->
<property environment="env"/>
<!--
這裏引用的是上面的那個變量 value的jboss的安裝路經
通過name來知道
-->
<property name="jboss.home" value="${env.JBOSS_HOME}"/>
<!-- 它用於指定目前jboss的配置項 -->
<property name="jboss.server.config" value="default"/>
<property name="build.dir" value="${basedir}/build"/>
<!--
它的值指向項目路經低下的build文件,這個用於我們後面編譯下的class類
存放的位置
-->
<!-- 上面爲什麼要定義那些屬性呢?主要是爲了後面應用,,這就和java裏定義的變量差不多 -->
<!--
配置一個類路經 這個id就是一個名稱
在我們開發ejb應用的時候,需要依賴一些jar文件的
那麼這些jar文件在安裝目錄下的client目錄下
另外我們目錄的文件之間它也有一個使用關係
所以我們把編譯後的class文件放到類路經下
這裏我們通過pathelement來指定此路經下
注意這裏要把jboss的路經配置在環境變量裏了
-->
<path id="build.classpath">
<fileset dir="${jboss.home}/client">
<include name="*.jar"/>
</fileset>
<pathelement location="${build.dir}"/>
</path>
<!--
這個配置定義了一個工作 這個工作的名稱就是那個name屬性值,可以隨便設
mkdir是創建class文件存放的目錄 此目錄在我們的項目裏邊是不存在的,所以我們有必須它創建出來
以後我們編譯出來的文件在此目錄下
-->
<target name="prepare">
<delete dir="${build.dir}"/>
<mkdir dir="${build.dir}"/>
</target>
<!--
這個是爲了完成編譯工作
這個工作裏我們調用了javac命令
源文件【我們通過前面的src.dir來調用 編譯後的class文件放到】
我們在編譯的時候全用到一些jar文件
這裏我們調用了javac命令 存放編譯後的文件必須在調用javac命令前就創建的
所以我們要先執行上面的那個target,然後再執行此配置 所以配置了一個depends屬性
-->
<target name="compile" depends="prepare" description="編譯">
<javac srcdir="${src.dir}" destdir="${build.dir}">
<classpath refid="build.classpath"/>
</javac>
</target>
<!--
此配置是我們以前要做的打包工作的過程,這裏使用配置來進行打包過程
把此類文件打包,放到項目低下,名稱爲
此jar文件包含那就些類我們通過學習fileset來定位到class文件所存放的路經下
然後把它低下所有的class文件都是包含進來
-->
<target name="ejbjar" depends="compile" description="創建EJB發佈包">
<jar jarfile="${basedir}/${ant.project.name}.jar">
<fileset dir="${build.dir}">
<include name="**/*.class"/>
</fileset>
</jar>
</target>
<target name="deploy" depends="prepare" description="發佈EJB">
<copy file="${basedir}/${ant.project.name}.jar" todir="${jboss.home}/server/${jboss.server.config}/deploy"></copy>
</target>
<target name="undeploy" depends="prepare" description="卸載EJB">
<delete file="${jboss.home}/server/${jboss.server.config}/deploy/${ant.project.name}.jar"/>
</target>
</project>