Eclipse Maven管理项目——解决修改.java文件不需要重启tomcat了
admin 发布于:2012-6-19 17:04:00
阅读:loading
对于maven管理项目这方面很次,就不详细说了,适合看此文章的是,平时用到了maven,但是又被他的改了类保存立即重新编译折腾的很疼的人看,曾经使用过两个月,maven环境都是别人给的,至于为什么这么搞,从没想过,现在的使用Eclipse中有大量的插件,出现了一个问题,就是改了.java文件,则立即部署项目,相当于要重启tomcat,个人感觉这是一个非常浪费时间的事情,真心想解决。只要一改类文件,需要重启tomcat服务器,这是一个很疼的问题。
在修改维护项目的时候,很大一部分时间都是在修改别人写的代码,更多需要是debug,去走一走代码的执行流程,如果在修改一行代码之后,发现项目自动去重新发布,非常慢,项目代码量大的话,也容易引起tomcat内存不足,当然没有手动设置tomcat最大内存的除外。现在特地来整理整理,怎么解决这个问题的,回想之前呆的项目组中解决的也不算非常完美,但不要失望,在没有完美解决的时候,采取个人喜欢的折中方式也是不错的。
附上个Eclipse插件截图:
我感觉这一大堆插件里面,猜测是由于使用maven来管理代码,导致修改了代码就需要部署,重启tomcat,单纯的eclipse Java EE IDE可以不用重启的,在纠结中使用了一段时间之后,果断找了一种解决办法。
使用tomcatPlugin来解决,先下载http://www.eclipsetotale.com/tomcatPlugin.html
随便找一个合适自己的Eclipse版本的下载。
说一下,不推荐将解压的文件放入到eclipse的plugins文件夹下,eclipse3.4版本之后可以直接放入eclipse\dropins目录下,新建一个文件夹,如:sysdeo,再创建一个文件夹:eclipse,再创建一个文件夹:plugins,将下载的解压文件com.sysdeo.eclipse.tomcat_3.3.0,放入此目录下面,重启eclipse,试试。
说明:Eclipse工具栏上面有上面的小图标,说明插件安装成功了。
接下来需要设置一些tomcat插件的参数,定位到
F:\tomcat6.35\apache-tomcat-6.0.35\conf\Catalina\localhost
上图中的标记为tomcat中项目的发布方式,采用在conf\Catalina\localhost目录下面创建一个与应用同名的.xml文件,文件内容如下:
<?xml version="1.0"encoding="UTF-8"?>
<ContextdocBase="D:\\project\\eclipse\\.metadata\\.plugins\\org.eclipse.wst.server.core\\tmp0\\wtpwebapps\\eFinance"reloadable="true" />
说明:使用Eclipse自带的Server来部署项目,部署的项目存储上上述的docBase目录,这时候不使用自带Server来启动项目,而采取tomcat雄猫的小图标来启动,即使用自带Server来管理部署项目,使用雄猫来启动项目。
说明:使用此插件需要注意:
1、 如果想手动修改tomcat最大内存,展开上图tomcat节点,找到JVMSettings设置项,修改。
2、 如果多个项目的类名称重复了,在debug时出现断点找错的情况(就是在A工程下面的类,断点定位到B工程下面了),可以采用手动修改源代码位置的方式来解决,具体展开上图tomcat节点,找到Source Path节点,在出现的界面中将需要debug的项目打勾,调试完毕,再还原即可。
3、重大问题,修改的jsp文件不自动编译了,解决这个问题的办法有两种:第一:折中使用改tomcat插件,调试后台代码的时候使用雄猫启动服务,修改前端页面的时候采用Server来启动;第二:如果掌握了mvn命令,编译安装完项目之后,直接在target目录下面的app里面修改,相当于直接在tomcat下面修改,将修改完毕后的相关页面,再拷贝至WebRoot目录下面,不足就是需要掌握一些mvn命令,例如:mvn install -Dmaven.test.skip=true等,每次修改完之后需要执行相应命令来编译代码。强烈说明,如果使用此种方式解决的,将上述说的<ContextdocBase="D:\\project\\eclipse\\.metadata\\.plugins\\org.eclipse.wst.server.core\\tmp0\\wtpwebapps\\eFinance"reloadable="true" />这段代码的docBase路径切换值$APP$\target\$APP$-1.0路径。
点赞