使用eclipse导出war包
1、在eclipse工作空间点击 [ File ] 选择 [ Export ]
2、选中 [ Web ] 下面的 [ WAR file ],点击 [ Next ]
3、通过 [ Browse ] 选择war包保存路径,点击 [ Finish ] 即可
使用ant导出war包
最近想实现jenkins+ant命令一键打war包,部署到tomcat搭建测试环境,然后进行web自动化测试,结果发现java web项目中并没有build.xml文件,所以无法通过ant命令打war包。
而通过eclipse本身导出的Ant Buildfiles(build.xml)文件也一样无法通过ant命令打war包,最终发现eclipse并没有生成为此web应用程序创建war文件的目标(target),所以只能手动添加打war包的脚本代码,特此记录一下。
步骤:
1、在eclipse工作空间点击 [ File ] 选择 [ Export ],在 [ Export ] 对话框中,选择 [ General ] > [ Ant Buildfiles ],如下所示:
点击 [ Finish ] 完成build.xml文件的创建
2、打开build.xml配置文件,在开始标记 <project> 的正下方自定义属性,用来指明web项目下各文件所在的路径
<!--project中属性:basedir表示当前项目基路径,default表示启动ant之后运行目标(必须的),name表示项目发布后名称--> <project basedir="." default="getwar" name="Students"> <!--property元素,你可以把它们当成一些变量的定义,这是为了接下来引用的方便--> <property environment="env"/> <property name="debuglevel" value="source,lines,vars"/> <property name="target" value="1.8"/> <property name="source" value="1.8"/> <!--自定义部分--> <property name="build" value="${basedir}/build"/> <property name="build.class" value="${build}/classes"/> <property name="src" value="${basedir}/src"/> <property name="web" value="${basedir}/WebContent"/> <!--WebContent文件路径--> <property name="lib" value="${web}/WEB-INF/lib"/> <!--jar包路径-->
并在末尾添加以下代码段,注意代码段应位于结束标记 </project> 的正上方
<!--打成war包--> <target name="getwar" depends="build"> <!--target表示运行目标,可以有多个target标签,也可以通过depends依赖其他目标--> <!--补充target执行的顺序是prepare->compile->run--> <echo message="打包成WAR"/> <war destfile="${basedir}/${ant.project.name}.war" webxml="${web}/WEB-INF/web.xml"> <fileset dir="${web}"/> <lib dir="${lib}"/> <classes dir="${build.class}"/> </war> </target> </project>
3、最后在web项目文件夹下打开命令窗口(cmd.exe),运行 ant -f build.xml 命令完成war打包操作
推荐阅读:https://www.cnblogs.com/wangchl/p/10282439.html