如何用ant将JSP项目打成war包

302 阅读1分钟

我的JSP项目:

build.xml全部源代码:

<?xml version="1.0"?>
<project name="jerryjsp" basedir="." default="build">
   <property name="src.dir" value="src"/>
   <property name="web.dir" value="WebContent"/>
   <property name="build.dir" value="${web.dir}/WEB-INF/classes"/>
   <property name="name" value="jerryjsp"/>

   <path id="master-classpath">
      <fileset dir="${web.dir}/WEB-INF/lib">
         <include name="*.jar"/>
      </fileset>
    	<fileset dir="C:/MyApp/apache-tomcat-9.0.29/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.8" target="1.8">
         <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>
      	<fileset dir=".">
      		<include name="*.war"/>
      	</fileset>
      </delete>
   </target>
	
	<target name = "generate-javadoc">
	   <javadoc packagenames="action.*" sourcepath="${src.dir}" 
	      destdir = "doc" version = "true" windowtitle = "Jerry Application">

	      <doctitle><![CDATA[= Jerrt Application =]]></doctitle>

	      <bottom>
	         <![CDATA[Copyright © 2020. JerryAll Rights Reserved.]]>
	      </bottom>

	      <group title = "action" packages = "action.*"/>
	   </javadoc>

	   <echo message = "java doc has been generated!" />
	</target>
	
	<target name="build-war">
	   <war destfile="jerryjsp.war" webxml="${web.dir}/WEB-INF/web.xml">
	      <fileset dir="${web.dir}">
	         <include name="**/*.*"/>
	      </fileset>
	   </war>
	</target>	
</project>

首先执行ant build, 在build.dir即WebContent\WEB-INF\classes文件夹下生成对应的.class文件:


接着将web.dir即WebContent文件夹下的所有资源打包成war即可。

将生成的jerryjsp.war放到tomcat文件夹的webapps文件夹下,即可自动完成解压和部署:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":