文档章节

基于Maven的web项目在Eclipse中使用Tomcat调试

mahb520
 mahb520
发布于 2014/11/05 21:32
字数 777
阅读 242
收藏 15

以前开发用过jetty来调试maven项目,不过那时也有点浑浑噩噩的,就是使用而已,业余时间都奉献给了游戏。最近在鼓捣maven,就记录一下最近搭建Eclipse中使用Tomcat调试maven项目的过程,以后忘记或者中间有什么问题时可以查到。

废话不多说,下面开始搭建:

 

1. 安装Maven(配置Maven环境变量+Eclipse中的Maven插件)

这步就不多说了,网上一搜一大把,要说明的只有一点,第一次配好Maven插件,一定要更新一次远程库的索引,这样添加依赖的时候就不会出现搜不到那个jar包的情况了(当然要先启用远程库的index,不然也搜不到jar包的)

 

2. 新建Maven项目、配置

新建了Maven项目后,属性->Project Facets->"convert to faceted form...",在随后出现的Project Facet中勾选如下2项,注意选择后面的version:

选择好了,确定,在次打开 项目->属性,可以看到多了一个Deployment Assembly选项,打开可以看到这里配置的是文件夹和发布文件夹的对应关系

由于maven打包时默认从src/main/webapp目录下面取web.xml文件,我们还要手动在下面建立一个这样的文件。

 

3. 配置调试的服务器(Apathc Tomcat)

如下图所示,Eclipse中新建一个Tomcat容器:

3. 运行Maven项目

经过上面的配置,是不是就可以运行我们的maven项目了呢??当然可以。

 

选择了上图所示的“Run on Server”后可以运行我们的Maven项目了。

 

4. 剩余问题

(1)、 我们浏览器输入“http://localhost:8080/ssh2/index.html”返回404??

不要急,可以到工作空间的目录.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps下面看到有个我们的maven项目名称的文件夹,这是我们调试时自动发布的目录,可以看到下面并没有我们添加的页面,神马情况??

这是我们没有配置src/main/webapp的发布目录,所以调试时也没有把下面的html等内容发布

解决:

项目 —> 属性 -> Deployment Assembly -> Add -> folder -> 选择src/main/webapp

这一步就是配置webapp目录要发布到项目的根目录下,我们再看到.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\ssh2目录下面有自动发布的html文件

刷新浏览器页面,OK页面出来了!!!

 

(2)、是不是这样就OK了??答案是否定的。

我们在pom.xml中添加了那些依赖的jar后,一旦在代码中应用。当我们本地调试时,会报ClassNotFound错误,这是为什么??

因为Tomcat不懂这些配置,你必须把Maven Dependencies中的jar与发布目录配置好:

项目 —> 属性 -> Deployment Assembly -> Add -> Java Build Path Entries -> 选择Maven Dependencies -> Finish -> OK

这一步就是配置Maven依赖包发布目录,这样调试时会自动把那些jar发布到指定目录下,tomcat也能找到那些jar了。


© 著作权归作者所有

共有 人打赏支持
mahb520
粉丝 21
博文 73
码字总数 24908
作品 0
广州
项目经理
加载中

评论(2)

horizonCat
horizonCat

引用来自“xdev”的评论

不错,有探索精神。不过你这中方式太麻烦,可以换一种。其他三种方案都比较简单,1、使用mvn tomcat:run 方式,配置下eclipse的maven运行配置就好。2、tomcat下指定外部web app发布路径,在eclipse下启动改tomcat就可以。3、这种方式个地二种方式差不多,只是tomcat不是在eclipse里面启动,并开启调试参数,在eclipse里面配置调试运行项即可。这几种方式都可以调试关联代码。还有一个tomcat插件可用。方式多多,懂得tomcat运行机制就行,maven和tomcat没有任何关系和联系的
如何使用本地的tomcat?指定路径后会发布到本地的tomcat下么?
xdev
xdev
不错,有探索精神。不过你这中方式太麻烦,可以换一种。其他三种方案都比较简单,1、使用mvn tomcat:run 方式,配置下eclipse的maven运行配置就好。2、tomcat下指定外部web app发布路径,在eclipse下启动改tomcat就可以。3、这种方式个地二种方式差不多,只是tomcat不是在eclipse里面启动,并开启调试参数,在eclipse里面配置调试运行项即可。这几种方式都可以调试关联代码。还有一个tomcat插件可用。方式多多,懂得tomcat运行机制就行,maven和tomcat没有任何关系和联系的
Maven + Eclipse + Tomcat - 开启项目调试之旅

本文的读者需要拥有一些Maven基础知识和实践,如果没有,请直接绕过或者先看一些关于Maven教程,比如Juven翻译的《Maven权威指南》,google一下便知。 开门见山,首先抛出一个问题(如果你对...

hyper0x
2012/02/27
0
0
Tomcat Maven Plugin部署Maven Web应用

Tomcat官方提供了Maven插件用于部署基于Maven的Web应用,不同版本Tomcat使用的插件不同,不同版本插件的使用也有一定区别,详细信息可参考http://tomcat.apache.org/maven-plugin.html。下面...

大漠真人
2014/09/02
0
8
maven多web合并项目

实际情况:基于开源作者开源的web项目,扩展开发自己的业务功能,又不想跟原项目混在一起开发,即要实现开源web项目与自己的扩展web项目合并部署且自己的web项目依赖开源的web项目,经网上查...

zkool
2016/11/23
127
0
将Maven2项目转为MyEclipse项目

现在项目中,大家开始用jetty。它不用像在MyEclipse中使用Tomcat那样要部署,也不用像在Tomcat中那样,要把应用都放到webapp文件夹下。jetty可以直接用你的项目的目录结构。 我们在用maven的...

鉴客
2011/10/11
4.2K
1
使用eclipse和maven一步一步配置web项目

maven是个项目管理工具,集各种功能于一身,下面介绍maven web项目在eclipse种的配置,并于tomcat集成。配置成功后,可以跟一般的web项目一样调试。 一、准备条件 1、安装下载jdk 这里以jdk...

Hacken_Hu
2014/01/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

IOasd

能够使用FileUtils常用方法操作文件 字符流体系介绍 : 在 IO 开发中, 我们传输最频繁的数据为字符, 而以字节的方式来传输字符数据会使程序员丧失对数据内容的判断.因为程序员只认识字符, 不认...

码农屌丝
26分钟前
0
0
创建第一个react项目

sudo npm i -g create-react-app@1.5.2 create-react-app react-app cd react-apprm -rf package-lock.jsonrm -rf node_modules #主要是为了避免报错npm installnpm start......

lilugirl
今天
3
0
在浏览器中进行深度学习:TensorFlow.js (八)生成对抗网络 (GAN)

Generative Adversarial Network 是深度学习中非常有趣的一种方法。GAN最早源自Ian Goodfellow的这篇论文。LeCun对GAN给出了极高的评价: “There are many interesting recent development...

naughty
今天
0
0
搬瓦工镜像站bwh1.net被DNS污染,国内打不开搬瓦工官网

今天下午(2018年10月17日),继搬瓦工主域名bandwagonhost.com被污染后,这个国内的镜像地址bwh1.net也被墙了。那么目前应该怎么访问搬瓦工官网呢? 消息来源:搬瓦工优惠网->搬瓦工镜像站b...

flyzy2005
今天
9
0
SpringBoot自动配置

本篇介绍下,如何通过springboot的自动配置,将公司项目内的依赖jar,不需要扫描路径,依赖jar的情况下,就能将jar内配置了@configuration注解的类,创建到IOC里面 介绍下开发环境 JDK版本1.8 spr...

贺小五
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部