`
dawuafang
  • 浏览: 1104830 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多
用过eclipse的人都知道 有个tomcat eclipse的插件,可以很方便的调试tomcat项目,具体配置就不多说了,看一下插件的使用说明就知道了

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

以下部分摘自网络

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

<Context docBase="F:\webapp" path="/demo" reloadable="true"></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上
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics