设为首页 收藏本站
查看: 2193|回复: 0

[经验分享] 用ant做了个简单的例子 将web工程发布到tomcat的webapps下

[复制链接]

尚未签到

发表于 2017-2-10 13:29:52 | 显示全部楼层 |阅读模式
项目做完了,用的是ant脚本构建的.自己以前没有使用过,所以闲暇之余先来了解一下,学习一下.我自己到网上搜索了一下,找到了<<Ant简单教程>>然后花了二十分钟粗略的看了一下,就开始做了个下例子.
关于ant的配置环境变量是首先必须的
首先到 http://ant.apache.org/bindownload.cgi这里去下载ant的压缩包,上面有linux和windows专用的,我这里下的是windows系统下用的.把下在的压缩包解压放在任意目录下然后配置环境变量:1.配置ANT_HOME: (D:\apache-ant-1.7.1)这是我的目录
                       2.path DSC0000.gif D:\apache-ant-1.7.1\bin)
然后进入dos界面输入ant命令显示如下信息 则证明安装成功
Buildfile: build.xml does not exist!
Build failed
我们用ant脚本语言把一个项目整合或移动到某个目录下.而这些命令都下在一个build.xml的文件中,一般把这个build.xml文件放在项目的src目录下(项目不是太大),或者某个模块的src目录下(项目由多个模块构成,比较大)我在这里只是做了个小小的例子所以把build.xml放在项目的src目录下.使用eclipse+myeclipse 新建一个web项目就不说了,接着在src目录下建一个build.xml文件,内容如下

<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-project" default="run" basedir="../">
<!-- 这里的basedir是 工程的目录为根目录
一般basedir="."表示的是build.xml文件所在的相对目录为根目录即src
-->
<property name="src" value="src"/>
<property name="dest" value="/${basedir}/WebRoot/WEB-INF/classes"/>
<!-- 定义发布目录 把工程copy到tomcat的工作目录下-->
<property name="webApp" value="E:\apache-tomcat-5.5.26\webapps\ant-project"/>
<echo message="init ..." />
<!-- =================================
target: init              
================================= -->
<target name="init">   
<mkdir dir="${dest}"/>
<delete dir="${src}/classes"></delete>
</target>
<!-- =================================
target: run              
================================= -->
<!-- 编译class文件-->
<target name="compile" depends="init">
<!--<javac srcdir="${src}" destdir="/${basedir}/WebRoot/WEB-INF/classes"></javac> -->
</target>
<target name="run" depends="compile" description="description">
<!--除了class文件外,其他文件拷贝到tomcat目录下-->
<copy todir="${webApp}" overwrite="true">
<fileset dir="${basedir}/WebRoot" excludes="**/*.class"/>
</copy>
<!--将class文件打包,放到/WEB-INF/lib目录下-->
<jar destfile="${webApp}/WEB-INF/lib/test.jar">
<fileset dir="/${basedir}/WebRoot/WEB-INF/classes">
<include name="**/*.class" />
</fileset>
</jar>
</target>

</project>

下面简单的解释下这个文件
1.每个build文件都包含一个project标签.name属性指项目的名称,可以随你自己取.default指默认要执行的target.basedir顾名思义是工作的根目录.
2.<property>可以理解为我们写程序时的变量.name是变量的名称 value是变量的值,在下面的脚本要用到这个变量时需要使用${name}方式调用
3</target>标签是build.xml文件的核心标签.里面主要是写一些你要做的操作然后依次按照你写好的依赖关系逐步执行target. name属性是target的名称,depends属性是指,当前这个target执行时必须先把depends对应的target执行(如果depends对应的target没有执行)如果depends对应的target已执行了,则直接执行当前的target
4.<javac>就是java中的编译命令.srcdir是指需要编译的java文件的目录.destdir是指编译后的class文件存放的目录
5<copy>这里的两个属性应该很好理解,todir是copy的目标目录 ,overwrite表示是否覆盖.<fileset>文件集合.dir属性表示被copy的源文件目录.excludes表示除开什么文件类型之外的文件
6<jar>打成jar包 可以象上面那样写也可以象这样写<jar jarfile="${${webApp}/WEB-INF/lib/test.jar}" basedir="${dest}"/>.jarfile表示生成的jar的文件,basedir表示class文件所在的目录.
当然ant脚本并没有这么简单.要写出一个好的ant脚本,部署一个庞大的项目,需要写出复杂的ant脚本,那是需要我们自己去在项目中运用才能有那种能力的.这只是个入门的小例子.写得不好的地方请大家多多提意见.下面是工程附件

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-340275-1-1.html 上篇帖子: Tomcat启动时加载数据到缓存---web.xml中listener加载顺序(优先初始化Spring IOC容器) 下篇帖子: 微软系统平台上----TOMCAT性能调优后可以稳定支持的最大并发用户数量在300人
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表