3 回答

TA贡献1812条经验 获得超5个赞
您可以使用Ant来设置,编译,WAR和部署解决方案。
<target name="default" depends="setup,compile,buildwar,deploy"></target>
然后,您可以在Eclipse中执行一次单击以运行该Ant目标。以下是每个步骤的示例:
前提条件
我们假设您的代码组织如下:
${basedir}/src:Java文件,属性,XML配置文件
${basedir}/web:您的JSP文件
${basedir}/web/lib:运行时需要的任何JAR
${basedir}/web/META-INF:你的清单
${basedir}/web/WEB-INF:您的web.xml文件
建立
定义setup创建分发目录的任务,并复制需要直接进行WARred的所有工件:
<target name="setup">
<mkdir dir="dist" />
<echo>Copying web into dist</echo>
<copydir dest="dist/web" src="web" />
<copydir dest="dist/web/WEB-INF/lib" src="${basedir}/../web/WEB-INF/lib" />
</target>
编
将Java文件构建到类中并复制驻留在src但需要在运行时可用的任何非Java工件(例如,属性,XML文件等):
<target name="compile">
<delete dir="${dist.dir}/web/WEB-INF/classes" />
<mkdir dir="${dist.dir}/web/WEB-INF/classes" />
<javac destdir="${dist.dir}/web/WEB-INF/classes" srcdir="src">
<classpath>
<fileset dir="${basedir}/../web/WEB-INF/lib">
<include name="*" />
</fileset>
</classpath>
</javac>
<copy todir="${dist.dir}/web/WEB-INF/classes">
<fileset dir="src">
<include name="**/*.properties" />
<include name="**/*.xml" />
</fileset>
</copy>
</target>
构建WAR
创建WAR本身:
<target name="buildwar">
<war basedir="${basedir}/dist/web" destfile="My.war"
webxml="${basedir}/dist/web/WEB-INF/web.xml">
<exclude name="WEB-INF/**" />
<webinf dir="${basedir}/dist/web/WEB-INF/">
<include name="**/*.jar" />
</webinf>
</war>
</target>
部署
最后,您可以设置任务以将WAR直接部署到Tomcat部署位置:
<target name="deploy">
<copy file="My.war" todir="${tomcat.deploydir}" />
</target>
点击即可!
完成所有这些后,只需default从Eclipse 启动目标即可编译,WAR和部署您的解决方案。
这种方法的优点是它可以在Eclipse之外以及Eclipse中运行,并且可以用于与正在处理项目的其他开发人员轻松共享您的部署策略(例如,通过源代码控制)。
添加回答
举报