在eclipse中启动tomcat加载不了项目的解决方法
一、在server视图右键选择Add and Remove时,如果想要部署的项目不在左侧的待选列表中,或是弹出警告There are no resources that can be added or removed from the server.。那么首先检查想要部署的项目是否open。如果没有,open project之后再试试。
二、若还是不行,则右键项目-->properties-->Projects Facets把下图的三个勾给打上。点击确定等待重新编译,编译完成且未出现警告的话,再重新试试.选择Dynamic Web Module的版本时,应根据dynamic web module和对应的TOMCAT 版本来设定。如果刚开始时候设置错了,则修改。

三、这时,如果项目未包含有WebContent文件夹,那么eclipse会自动创建WebContent文件夹,并将WebContent文件夹作为默认的读取lib以及jsp的路径,这时problems视图里会出一大堆错,因为编译器找不到lib包了。下图中的Web App Libraies就是从WebContent文件夹中加载的。

这时你有两个选择,第一个是把你的jsp和lib全部移动到WebContent文件夹中来,使得编译器能找到(如果是自己一个人的项目可以这么做,如果是多人协作的svn项目不推荐这么做)。第二个选择是重新配置部署路径,右键工程properties-->Deployment Assembly,remove掉/WebContent,然后add你自己的文件夹。比如我的项目放置lib和jsp以及各种资源的文件夹是web,那么add Folder 选择web,点击finish即可。如下图:

需要注意的是,即使第三步编译不报错,启动tomcat时也不一定能加载得到项目。因为有些项目的jar包可能不是从Web App Libraies里加载的,而是直接通过Add External JARS来加载的。这时候eclipse编译是没问题了,但tomcat加载时依然加载不到jsp以及lib、WEB_INF等等资源文件。因为tomcat启动时仍然是根据Deployment Assembly来寻找jsp以及lib、WEB_INF等等资源文件的。如果找不到,tomcat启动是正常的,但是你想要部署的项目不会被部署到tomcat上。
四:启动tomcat,如果能在浏览器中访问应用则说明加载成功。如果不能,则去看看有tomcat加载文件时有哪些文件漏掉了?如下图:

或者打开D:\eclipseWorkSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp4\conf\server.xml,查看<Context>标签下的路径,在我的电脑中打开此路径。

如果能在打开的文件夹中看到文件和ecplise中的一一对应,那么就说明加载成功了。左图中的WEB_INF文件夹里应包含classes文件夹,并且内容和右图中的build下的classes里的一致。(因为我的eclipse编译路径设为ccegp/build/classes,不是ccegp/web/WEB_INF/classes)


如果不是一一对应,重新启动一下tomcat,留意一下控制台输出。再不行可能得重启一下eclipse。因为有些时候配置不是立刻生效的。
参考:http://stackoverflow.com/questions/75786/eclipse-how-can-i-change-a-project-facet-from-tomcat-6-to-tomcat-5-5
在eclipse中启动tomcat加载不了项目的解决方法的更多相关文章
- Eclipse中启动tomcat: java.lang.OutOfMemoryError: PermGen space的解决方法
tomcat启动的时候出现这种错误一般是项目引用了太多的jar包,或者反射生成了太多的类,或者有太多的常量池,导致非堆内存中永久保存区域不够,就有可能会报java.lang.OutOfMemoryEr ...
- eclipse中启动tomcat,localhost:8080无法访问
问题 eclipse中启动tomcat,项目可以正常运行,但是localhost:8080无法访问. 关闭eclipse中的Tomact,直接从tomcat/bin 下的startup.bat启动,l ...
- 在eclipse中启动Tomcat报端口被占用的错误
安装配置好Tomcat之后,在浏览器中输入localhost,能正取打开页面.然后在eclipse中建立项目,创建Servlet之后,启动Tomcat,报端口被占用的错误.如图: 原因:原来已经启动了 ...
- ivy在eclipse中的重新加载
ivy在eclipse中的重新加载 如果由于网速的原因,导致了ivy没有正常的加载,可以进行ivy的重新加载: 1,右键点击项目,选择属性->Java Build Path->Librat ...
- eclipse中启动tomcat后, 无法访问localhost:8080
问题: 今天老师讲了Servlet路径问题, 做了个测试在eclipse中启动tomcat后,在浏览器地址栏输入 http://localhost8080无法访问, 提示404错误, 正常情况是可以访 ...
- springboot+thymeleaf刨坑——首页加载js/css等失败解决方法
在使用thymeleaf加载css或js样式,当我们进入登录页的时候发现,所有的样式都是加载失败的.原因是在新版中有这样一个坑……: 当我们设置了addInterceptors-注册拦截器的时候,通常 ...
- Eclipse中启动tomcat报错:A child container failed during start
我真的很崩溃,先是workspace崩了,费了好久重建的workspace,然后建立了一个小demo项目,tomcat中启动却报错,挑选其中比较重要的2条信息如下: A child container ...
- 为什么eclipse中启动tomcat后,浏览器中出现404?
问题描述: tomcat压缩包加压后,启动lib文件夹下面的startup.bat,在浏览器中输入http://localhost:8080/后出现熟悉的界面. 但是在eclipse中,jsp可以正常 ...
- eclipse中启动tomcat
0.以下即使部署好,点小猫启动tomcat,有一个问题,修改jsp文件,本地tomcat中的此jsp并没有修改,如果右键项目启动,则会修改,不知道为什么 1. 首先发布项目,项目右键,run serv ...
随机推荐
- storm基础系列之二----zookeeper的作用
在storm集群中,我们常常使用zookeeper作为协调者.那么具体发挥的是什么作用呢? 概括来说,zookeeper是nimbus和supervisor进行交互的中介.具体来说有二: 1.nimb ...
- (Xaml) Type 'DeviceA' is not defined.
修改了一些Xaml, 始终提示 Compiler error(s) encountered processing expression "deviceA.B".Type 'Devi ...
- caffe:用自己的数据训练网络mnist
画黑底白字的软件:KolourPaint. 假设所有"1"的图片放到名字为1的文件夹下.(0-9类似)..获取每个数字的名称文件后,手动表上标签.然后合成train.txt 1.获 ...
- 异步|同步&阻塞|非阻塞
异步|同步:区别在于发出一个功能调用时,是否马上得到返回结果 阻塞|非阻塞:区别在于调用结果返回之前,当前线程是否挂起 node.js:单线程.异步非阻塞模型 单线程与异步不矛盾,与并发是矛盾的 ht ...
- spring mvc 4 校验
一.controller中添加: @ResourceGatewayValidator gatewayValidator; @RequestMapping(value = "/gateway/ ...
- [AIR] 新建窗口的方法
有时根据需要,我们需要在AIR程序中开多个窗口window 以下新建一个窗口: var opion:NativeWindowInitOptions = new NativeWindowInitOpti ...
- Tornado实战项目(伪JD商城)
预备知识 在之前tornado商城项目中,在开始之前需要引入一些项目设计知识,如接口,抽象方法抽象类,组合,程序设计原则等,个人理解项目的合理设计可增加其灵活性, 降低数据之间的耦合性,提高稳定性,下 ...
- Android 进程通信机制之 AIDL
什么是 AIDL AIDL 全称 Android Interface Definition Language,即 安卓接口描述语言.听起来很深奥,其实它的本质就是生成进程间通信接口的辅助工具.它的存在 ...
- 线程,join合并线程
在A中,调用B.join()那么,A会“等”B先执行 public class Join01 extends Thread { @Override public void run() { int su ...
- C++设计模式-Flyweight享元模式
Flyweight享元模式 作用:运用共享技术有效地支持大量细粒度的对象. 内部状态intrinsic和外部状态extrinsic: 1)Flyweight模式中,最重要的是将对象分解成intrins ...