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上
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上
相关文章推荐
- tomcat7编译
- Axis2+tomcat7.0 实现webService 服务端发布与客户端的调用.
- 普通身份运行Tomcat
- tomcat内存设置
- Tomcat之虚拟主机配置以及web应用配置
- Tomcat的JVM设置和连接数设置
- JFinal上传文件报Posted content type isn't multipart/form-data错误解决办法。
- Tomcat设置默认启动项目
- Tomcat设置默认启动项目
- Tomcat不能自动编译JSP文件问题的一种解决方法
- 使用tomcat_1——配置
- tomcat 一个项目在本机和办公室以外电脑服务器上搭建出现乱码问题
- 一台服务器搭载两个tomcat项目
- tomcat运行web项目,不能访问动态地址,也就是controller
- tomcat7.0配置CORS(跨域资源共享)
- tomcat - Linux 下使用命令操作tomcat
- 如何在Eclipse中添加Tomcat的jar包
- 安装tomcat
- centos6.5下成功安装jdk环境,并安装tomcat,测试
- tomcat 起来多了端口占用 需要用netstat命令端口号占用并windows命令强制结束进程