整理一个ANT在J2EE项目中的应用,含预编译JSP和打包WAR/EAR文件!
首先,假设我们的项目的结构如下,相同的目录大家可以自行扩展!
接下来第一步,就是要先定义好一些全局的参数,以便以后更改起来方便,风格
大家自己选择好了,我用的是如下的方式:
(1) 给出项目的目录:
(2) 定义Java Source的编译选项
(3) 如果需要 import EJB library 的话,给出下面的定义,后面会用到
(4) 给出部署WAR/EAR文件的名称:
(5) 给出CLASSPATH的定义,引入相关的Library和项目编译生成的Java Classes
(6) 基本的clean和init的task
(7) 编译Java Source
(8) 预编译JSP文件,可选择基于Tomcat或是Oracle Application Server
(9) 开始进行compile,make 和 build,并生成部署档案
${project.root} | +-- build/ <-- WAR/EAR档的目录 +-- classes/ <-- 编译的输出目录,与JBuilder兼容 +-- src/ <-- Java源文件目录 +-- web/ <-- WEB Content 目录 | | | +--pages/ <-- JSP 文件目录 | +--WEB-INF/ <-- web.xml 等配置文件 +-- ejb <-- EJB Content 目录 | | | +--META-INF/ <-- EJB 配置文件 +-- ear <-- EAR Content 目录 | | | +--META-INF/ <-- EAR 配置文件 |-- lib <-- 项目所要用到的library |
接下来第一步,就是要先定义好一些全局的参数,以便以后更改起来方便,风格
大家自己选择好了,我用的是如下的方式:
(1) 给出项目的目录:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->
<!--// project directories //--> <property name="dir.project" value="D:/Code/MyProject"/> <property name="dir.project.lib" value="${dir.project}/lib"/> <property name="dir.project.src" value="${dir.project}/src"/> <property name="dir.project.web_module" value="${dir.project}/web"/> <property name="dir.project.ejb_module" value="${dir.project}/ejb"/> <property name="dir.project.ear_module" value="${dir.project}/ear"/> <!--// compile, build and deploy directories //--> <property name="dir.project.compile" value="${dir.project}/classes"/> <property name="dir.project.compile.jspcache" value="${dir.project.compile}/jspcache"/> <property name="dir.project.build" value="${dir.project}/build"/> <!--// J2EE Container //--> <property name="dir.appserver.tomcat.home" value="D:/J2EE_HOME/AppServer/Tomcat"/> <property name="dir.appserver.oc4j.j2ee.home" value="D:/J2EE_HOME/AppServer/OC4J/j2ee/home"/> |
(2) 定义Java Source的编译选项
(3) 如果需要 import EJB library 的话,给出下面的定义,后面会用到
|
(4) 给出部署WAR/EAR文件的名称:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->
<!--// Deployment //--> <property name="deploy.file.ejb_module" value="MyApp_EJB.jar" /> <property name="deploy.file.web_module" value="MyApp_WEB.war" /> <property name="deploy.file.ear_module" value="MyApp.ear" /> |
(5) 给出CLASSPATH的定义,引入相关的Library和项目编译生成的Java Classes
|
(6) 基本的clean和init的task
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->
<target name="clean"> <delete dir="${dir.project.build}"/> <delete dir="${dir.project.compile.jspcache}"/> <delete dir="${dir.project.compile}"/> <delete dir="${dir.project.web_module}/WEB-INF/classes"/> <delete dir="${dir.project.web_module}/WEB-INF/lib"/> </target> <target name="init"> <mkdir dir="${dir.project.compile}"/> <mkdir dir="${dir.project.compile.jspcache}"/> <mkdir dir="${dir.project.web_module}/WEB-INF/classes"/> <mkdir dir="${dir.project.web_module}/WEB-INF/lib"/> <mkdir dir="${dir.project.build}"/> </target> |
(7) 编译Java Source
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->
<target name="src_compile" depends="init"> <!--// compile the Java source //--> <javac srcdir="${dir.project.src}" destdir="${dir.project.compile}" encoding="${opt.compile.encoding}" source="${opt.compile.source}" target="${opt.compile.target}" deprecation="${opt.compile.deprecation}" debug="${opt.compile.debug}" optimize="{opt.compile.optimize}" > <classpath refid="CLASSPATH"/> <include name="**/*.java"/> </javac> <!--// copy the classpath resources //--> <copy todir="${dir.project.compile}"> <fileset dir="${dir.project.src}"> <exclude name="**/*.java"/> </fileset> </copy> </target> |
(8) 预编译JSP文件,可选择基于Tomcat或是Oracle Application Server
|
(9) 开始进行compile,make 和 build,并生成部署档案
|