利用ant脚本build.xml生成war包

使用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="packWar" 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="packWar" 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

posted @ 2022-01-23 13:06  Flutter  阅读(948)  评论(0编辑  收藏  举报