使用Apache ant 1.9.6编译打包Web项目

来源:互联网 发布:java吧 编辑:程序博客网 时间:2024/06/04 20:11

环境:

1,OS:Windows7

2,JDK:jdk1.7

3,Apache Ant:apache-ant-1.9.6

步骤:

1,解压apache-ant-1.9.6-bin.zip

2,添加环境变量ANT_HOME,比如C:\apache-ant-1.9.6-bin

3,Path变量添加ant的bin目录,比如%ANT_HOME%\bin

目标流程:

1,删除web project web-info目录下的classes目录;删除.war文件

2,建立web project web-info目录下的classes目录

3,复制src下的非java文件

4,编译生成java的class文件

5,打包成.war文件

Ant build.xml文件

<?xml version="1.0" encoding="UTF-8"?><project name="webprjtest" default="createwebwarfile" basedir="F:/"><property name="webproject.base" value="${basedir}/webtestproject/" ></property><property name="webproject.src" value="${webproject.base}/src/" ></property><property name="webproject.root" value="${webproject.base}/WebRoot/" ></property><property name="webproject.lib" value="${webproject.root}/WEB-INF/lib/"></property><property name="webproject.classes" value="${webproject.root}/WEB-INF/classes/"></property><property name="appname" value="${ant.project.name}" ></property><property name="warfile" value="${basedir}/${appname}.war" ></property><!-- J2EE lib--><property name="tomcat.lib" value="C:/tomcat/lib/"></property><target name="del"><delete dir="${webproject.classes}"></delete><delete file="${warfile}"></delete></target><target name="md"><mkdir dir="${webproject.classes}"/></target><path id="classpath">  <fileset dir="${webproject.lib}">  <include name="*.jar"/>  </fileset><fileset dir="${tomcat.lib}"><include name="*.jar"/></fileset></path><property  name="classpath" refid="classpath"></property><target name="buildjava"   description="Build java files and Copy other files in src ."><javac srcdir="${webproject.src}" destdir="${webproject.classes}" classpath="${classpath}"  encoding="utf-8"  debug="true"deprecation="true"> </javac></target><target name="cp"><copy todir="${webproject.classes}"><fileset dir="${webproject.src}"><exclude name="**/*.java"/></fileset></copy></target><target name="createwebwarfile" depends="del,md,cp,buildjava" description="Create War file from Web-Project ."><war destfile="${warfile}" webxml="${webproject.root}/WEB-INF/web.xml"><fileset dir="${webproject.root}" ><include name="**" /></fileset></war></target></project>

===================================================================================


环境:

1,OS:Windows7

2,JDK:jdk1.8

3,Apache Ant:apache-ant-1.9.6

4,Tomcat8.5.3

目标:

对JavaWeb项目编译、打包、并在tomcat中运行

代码:

<?xml version="1.0" encoding="UTF-8"?><!-- ======================================================================                                                                    ====================================================================== --><project name="monitor" default="default" basedir="D:/workspace_ElipseJEE_mars2">    <description>            Web Project built with JDK8 and run on Tomcat8.5.3    </description><record action="start" append="no" loglevel="info" name="e:/antbuildwar.log"/><property name="webprj.base" value="${basedir}/monitor/"></property><property name="webprj.src" value="${webprj.base}/src/"></property><property name="webprj.root" value="${webprj.base}/WebRoot/"></property><property name="webprj.lib" value="${webprj.root}/WEB-INF/lib/"></property><property name="webprj.classes" value="${webprj.root}/WEB-INF/classes/"></property><property name="appname" value="${ant.project.name}"></property><property name="warfile" value="${basedir}/${appname}.war"></property><!-- tomcat --><property name="tomcat.home" value="F:/software/develop/apache-tomcat-8.5.3_win32/"></property><property name="tomcat.lib" value="${tomcat.home}/lib/"></property><property name="tomcat.webappfoler" value="${tomcat.home}/webapps/"></property>    <!-- =================================           target: default                       ================================= -->    <target name="default" depends="startuptomcat8.5" description="description">            </target>  <!-- Delete old *.class folder and .war file --><target name="delclasses"><delete dir="${webprj.classes}"></delete><delete file="${warfile}"></delete></target><!-- Create classes dir --><target name="md" ><mkdir dir="${webprj.classes}"/></target><!-- 需要引用的jar包 --><path id="classpathset"><fileset dir="${webprj.lib}"><include name="*.jar"/></fileset><fileset dir="${tomcat.lib}"><include name="*.jar"/></fileset></path><property name="classpath" refid="classpathset"></property><!-- - - - - - - - - - - - - - - - - -           target: buildjava,编译                               - - - - - - - - - - - - - - - - - -->    <target name="buildjava">            <javac   verbose="yes" listfiles="yes"             classpath="${classpath}"            srcdir="${webprj.src}"             destdir="${webprj.classes}"             fork="java$$javac.exe"            source="1.8"            target="1.8"            encoding="utf-8"             debug="on"             deprecation="on"            >            <compilerarg value="-Xlint"/>            </javac>    </target><!-- - - - - - - - - - - - - - - - - -           target: cp,复制其他一些非java文件                         - - - - - - - - - - - - - - - - - -->    <target name="cp">            <copy todir="${webprj.classes}">            <fileset dir="${webprj.src}">            <exclude name="**/*.java"/>            </fileset>            </copy>    </target><!-- - - - - - - - - - - - - - - - - -           target: createwarfile                               - - - - - - - - - - - - - - - - - -->    <target name="createwarfile" depends="delclasses,md,cp,buildjava">            <war destfile="${warfile}" webxml="${webprj.root}/WEB-INF/web.xml">            <fileset dir="${webprj.root}">            <include name="**"/>            </fileset>            </war>    </target><!-- - - - - - - - - - - - - - - - - -           target: cpwar                               - - - - - - - - - - - - - - - - - -->    <target name="cpwar" depends="createwarfile">            <copy todir="${tomcat.webappfoler}" file="${warfile}" overwrite="yes"></copy>    </target><!-- - - - - - - - - - - - - - - - - -           target: startuptomcat8.5, 执行外部命令,          如果exec中没有dir属性设置,那么tomcat不启动成功,报CATALINA_HOME没设置                        - - - - - - - - - - - - - - - - - -->    <target name="startuptomcat8.5" depends="cpwar">    <exec executable="cmd.exe" dir="${tomcat.home}">    <arg line="/c ${tomcat.home}/bin/startup.bat"/>    </exec>                </target></project>


0 0
原创粉丝点击