搜档网
当前位置:搜档网 › ant部署web项目

ant部署web项目

使用Ant部署项目细节问题及解决办法
说原创也谈不上,是个人在使用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代码
1.
2.


原因是,如果没有这一段内容,tomcat会加载你部署的项目,而不过有些jar被加载了,那么当你undeploy的时候就无法成功了,必须要关闭tomcat,手动删除项目,这显然很郁闷。
加了如上内容,tomcat就会拷贝此项目到临时文件夹内,去加载那个拷贝,那么这样当前的目录就可以自由的重新部署了。
缺点也说了,效率太低。

做了如下改进。
1.为你的项目指定一个虚拟目录,指向上面第三步里面的那个目录
指定虚拟目录的方法。
(1)在tomcat/conf/server.xml中,里面创建一个

Xml代码
1.


或者在tomcat\conf\Catalina\localhost目录下新建一个 项目名称.xml文件,输入

Xml代码
1.


这里就不需要path了,文件名就是访问名称。此方法有个缺点,就是不能删除你的那个项目目录,如果删除了,tomcat会删除这个xml文件的。所以我选择了第一种方法。
此处的\Catalina\localhost,是

在server.xml设定的名和名,可以在server.xml里面找到。
这里也没有上面的antiResourceLocking="true" antiJARLocking="true"了,我尝试了n遍,如果加上了这两个属性,那么你修改类的时候不会重新加载的。

这样,当你修改了类或文件后,只需要编译,拷贝,稍等片刻,tomcat就会自动部署了。编译,拷贝时间5秒左右,Ant一执行完,tomcat就基本重部署完了,比上面的30秒快了不少

相关主题