使用ant脚本前的准备
1、下载一个ant安装包。如:apache-ant-1.8.4-bin.zip。解压到E盘。
2、配置环境变量。新增ANT_HOME:E:\\apache-ant-1.8.4;PATH增加:E:\\apache-ant-1.8.4\\bin。
3、检查ant是否配置完成。运行->cmd输入:ant -version。查看是否打印ant的版本号。
打包的实质
生成jar包的实质
1、编译工程src文件夹下的java文件,生成相应的class文件。
2、将所有的class文件集合成jar包。
生成war包的实质
1、编译工程src文件夹下的java文件,生成相应的class文件。
2、将工程WebContent下的除了class文件和jar包以外的文件,全部拷贝到war包的对应目录下。
3、将编译生成的class文件,全部拷贝到war包WEB-INF/classes文件夹下。
4、将工程lib中的jar包,全部拷贝到war包的WEB-INF/lib下。最后压缩成war包。
一个生成war包的ant脚本代码
<?xml version=\"1.0\" encoding=\"UTF-8\"?> <!-- 定义一个工程,默认任务为warFile。 --> <project name=\"awp\" default=\"warFile\" basedir=\".\"> <!-- 定义属性,打成war包的名称。 --> <property name=\"warFileName\" value=\"awp.war\"></property> <!-- 定义路径,编译java文件时用到的jar包。 --> <path id=\"project.lib\"> <fileset dir=\"${basedir}/lib\"> <include name=\"**/*.jar\"/> </fileset> </path> <!-- 定义任务,清空任务:清空原有的class文件,创建新的build路径。 --> <target name=\"clean\"> <delete dir=\"${basedir}/src/main/webapp/WEB-INF/classes\" /> <mkdir dir=\"${basedir}/src/main/webapp/WEB-INF/classes\" /> </target> <!-- 定义任务,编译src文件夹中的java文件,编译后的class文件放到创建的文件夹下。 --> <target name=\"build\" depends=\"clean\"> <javac srcdir=\"${basedir}/src/main/java\" destdir=\"${basedir}/src/main/webapp/WEB-INF/classes\" includeantruntime=\"false\" source=\"1.6\" target=\"1.6\"> <classpath refid=\"project.lib\"> </classpath> </javac> <!--复制src/main/java下非java文件到/src/main/webapp/WEB-INF/classes--> <copy todir=\"${basedir}/src/main/webapp/WEB-INF/classes\"> <fileset dir=\"${basedir}/src/main/java\"> <include name=\"**/**.*\" /> <exclude name=\"**/*.java\"/> </fileset> </copy> </target> <!-- 定义默认任务,将class文件集合成jar包。 --> <target name=\"warFile\" depends=\"build\"> <!--将lib文件夹下的jar打包到WEB-INF/lib下 --> <copy todir=\"${basedir}/src/main/webapp/WEB-INF/lib\"> <fileset dir=\"${basedir}/lib\"> </fileset> </copy> <!-- 建立新war包。 --> <war destfile=\"${basedir}/${warFileName}\" webxml=\"${basedir}/src/main/webapp/WEB-INF/web.xml\"> <!-- 将非jar和非class文件拷贝到war包的对应路径下。 --> <fileset dir=\"${basedir}/src/main/webapp\"> <include name=\"**/**.*\" /> <exclude name=\"**/*.jar\"/> <exclude name=\"**/*.class\"/> </fileset> <!-- 将jar和class文件拷贝到war包的对应路径下。 --> <lib dir=\"${basedir}/src/main/webapp/WEB-INF/lib\" /> <classes dir=\"${basedir}/src/main/webapp/WEB-INF/classes\" /> </war> </target> </project>
以上就是本文的全部内容,希望对大家的学习有所帮助。
本文地址:https://www.stayed.cn/item/5861
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我