说原创也谈不上,是个人在使用Ant的过程中遇到的问题及解决办法,收录一下。
最近由IDE慢慢的向Ant转移,开始是不习惯。不过用着用着感觉还不错。之前一直用的Intellij Idea,什么都好,就两个不好,内存占用大,部署效率低(不像eclipse那样,ctrl+s,就自动编译,然后tomcat就自动部署了)。这也是我用Ant的理由,算是填补Intellij Idea的不足吧,还有junit的编写,现在又想写junid的冲动(虽然还没写多少
)。之间遇到了一些问题,还是google强大啊,不过还是搜了半天,再加上自己的尝试,终于都解决了。
其中主要就是部署。
一开始我的部署方式是。
1.使用Ant启动tomcat。
2.编译.
3.拷贝需要的文件到指定的目录
4.打包war包
5.将war包部署到tomcat中
tomcat不需要重新启动。不过。。。。每次重新部署都需要将近30秒,受不了。
此处需要一个注意点,就是context的设置,在项目的web根目录下(即和WEB-INF同级的目录)新建一个META-INF目录,接着在此目录下新建一个context.xml文件。其内输入如下内容。
<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true" antiResourceLocking="true" antiJARLocking="true"></Context>
原因是,如果没有这一段内容,tomcat会加载你部署的项目,而不过有些jar被加载了,那么当你undeploy的时候就无法成功了,必须要关闭tomcat,手动删除项目,这显然很郁闷。
加了如上内容,tomcat就会拷贝此项目到临时文件夹内,去加载那个拷贝,那么这样当前的目录就可以自由的重新部署了。
缺点也说了,效率太低。
做了如下改进。
1.为你的项目指定一个虚拟目录,指向上面第三步里面的那个目录
指定虚拟目录的方法。
(1)在tomcat/conf/server.xml中,<Host>里面创建一个<Context>。
<Context path="/浏览器里面的访问根路径" docBase="项目路径" reloadable="true" ></Context>
或者在tomcat\conf\Catalina\localhost目录下新建一个 项目名称.xml文件,输入
<Context docBase="项目路径" reloadable="true" ></Context>
这里就不需要path了,文件名就是访问名称。此方法有个缺点,就是不能删除你的那个项目目录,如果删除了,tomcat会删除这个xml文件的。所以我选择了第一种方法。
此处的\Catalina\localhost,是在server.xml设定的<Engine>名和<Host>名,可以在server.xml里面找到。
这里也没有上面的antiResourceLocking="true" antiJARLocking="true"了,我尝试了n遍,如果加上了这两个属性,那么你修改类的时候不会重新加载的。
这样,当你修改了类或文件后,只需要编译,拷贝,稍等片刻,tomcat就会自动部署了。编译,拷贝时间5秒左右,Ant一执行完,tomcat就基本重部署完了,比上面的30秒快了不少。
分享到:
相关推荐
教会你如何使用ant部署j2me和j2ee项目,里面有两个简单的例子,从简单的项目搭建中让你知道如何使用ant。
Ant远程部署tomcat脚本
ANT使用指南ANT使用指南ANT使用指南ANT使用指南ANT使用指南ANT使用指南ANT使用指南ANT使用指南ANT使用指南
一个用于weblogic下ant部署的demo。
ant 使用入门ant 使用入门ant 使用入门ant 使用入门
自己整理的在Eclipse下部署远程tomcat的步骤及相关build文件
ant +build.xml 文件Jenkins部署javaEE项目,助力成功自动化部署。ant +build.xml 文件Jenkins部署javaEE项目,助力成功自动化部署。ant +build.xml 文件Jenkins部署javaEE项目,助力成功自动化部署。ant +build.xml...
NULL 博文链接:https://chenming100-1976.iteye.com/blog/511643
但是目前主要被用于Java项目的构建, Ant是用Java语言编写,可以在多个操作系统中运行,目前在绝大部分的Java开源项目中,都选择使用Ant作为构建项目的工具,合理的使用Ant可以大大降低项目构建、部署的难度。...
ant的示例代码 包括 java小项目和build.xml的配置
共包含俩本电子书,ant指南和ant使用教程,教你如何搭建及使用ant
ant脚本,讲本地代码copy到远程linux服务器的tomcat目录下,并重启tomcat,需要下载jsch.jar包放到本地ant-home的lib目录下
ant工具使用指南ant工具使用指南ant工具使用指南
图解与代码Ant实现Java项目的自动构建和部署
ant ant ant antant ant ant antant ant ant ant
Ant 项目构建教程,可以正确指导如何搭建。
ant在myeclipse中的部署,过程比较详细,要是还不成功,那就是你自己机子的问题
Ant安装、部署及应用详解,本人亲自测试,简单方便构建。
ant_shell自动部署