您的位置:首页 > 运维架构 > Tomcat

eclipse中MAVEN的web项目部署至TOMCAT的步骤

2016-04-16 09:26 489 查看
用过eclipse的人都知道 有个tomcat
eclipse的插件,可以很方便的调试tomcat项目,具体配置就不多说了,看一下插件的使用说明就知道了

当用过maven管理项目后,虽然也有 maven tomcat 插件,但用做修改频繁的项目时很不方便。由于maven项目结构和eclipse 默认生成的项目结构不同,webapp下没有class和jar,直接用tomcat eclipse调试肯定不行了。不过还是有曲线救国的办法的

以下部分摘自网络

1.修改tomcat的server.xml配置文件,在host结点下添加如下代码

[xml] view
plain copy

<Cont<a href="http://www.linuxso.com/command/ex.html" target="_blank" style="color: rgb(8, 65, 214); text-decoration: initial;"><u>ex</u></a>t docBase="F:\webapp" path="/demo" reloadable="<a href="http://www.linuxso.com/command/tr.html" target="_blank" style="color: rgb(8, 65, 214); text-decoration: initial;"><u>tr</u></a>ue"></Context>

这样tomcat便可以即时感知到F:\webapp目录下文件的变化并自动重新部署了。但是,我们的class文件和配置文件是编译在target/classes下呀。别急,继续。

2.回到eclipse中,右击demo项目,选java build path ,点击source选项卡,修改最下面的Default outputfolder为demo/src/main/webapp/WEB-INF/classes。再选择上面的demo/src/main/java及demo/src/main/resources下的Output
folder选项,点击edit按钮,选择第一项Project's default output folder,点击OK。

这样java会被编译到WEB-INF下的classes目录,为tomcat所感知了。可是,还有项目的maven依赖包呢。

3.一般情况下,一个项目的依赖包一旦稳定下来,不会有太多的变动。因此,直接把maven依赖包拷到WEB-INF/lib下即可。具体做法如下:

进入命令行,切换当前目录到项目根目录下。运行命令

引用mvn
dependency:copy-dependencies

这时候demo项目的依赖包会被导到target/dependency下,将它们拷到WEB-INF/lib下即可。如果依赖包有变动,再导一次就好了。

注意:

  如果最后要用maven将项目打包成war,还需要将java类的编译路径改回来,并且删除掉WEB-INF下的classes目录和lib目录,否则会报错

华丽的分割线-----------------------转载结束---------------------

总结一下,上面的方法虽然解决了tomcat热部署和调试的问题,但毕竟的稍微动了maven的结构,其实用jetty做服务器调试可以完美的配合eclipse和maven 运行,不存在tomcat的那些问题,只需要安装 run jetty插件就可以了。实际项目中,我们可以用jetty做开发的服务,利用maven打war包部署的tomcat上
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: