在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 ...
随机推荐
- Activity生命周期(深入理解)
今天看到一篇大神总结Activity的文章,内容甚为详细,特此转载http://www.cnblogs.com/lwbqqyumidi/p/3769113.html Android官方文档和其他不少资 ...
- MFC ADO连接Sql Server数据库报无效指针的问题
相关症状: Win7sp1上编译的ADO程序无法在低版本系统上运行,创建ADO时提示错误:0x80004002 解决办法如下: 1.下载: http://download.microsoft.c ...
- linux c 获取头文件函数getenv
#include <stdio.h>#include <stdlib.h> int main(){ printf("%s\n", getenv(" ...
- 优化定时器NSTimer-runloop使用
参考文档:http://www.cnblogs.com/junhuawang/p/4647559.html - (void)viewDidLoad { [super viewDidLoad]; ...
- shell中bc expr [ ] (( ))的使用方法
http://blog.chinaunix.net/uid-20671208-id-3552751.html
- Android sdk tool android 命令参数
命令参数说明: $ ./android --? Error: Flag '--?' is not a valid global flag. Did you mean to specify it a ...
- OpenCV的数据类型---Cv
CvScalar就是一个包含四个元素的结构体变量. CvScalar定义可存放1—4个数值的数值,其结构如下. typedef struct CvScalar{ double val[4];}C ...
- echo同时输出到多个文件中
echo "test"| tee -a file1 file2 如果想去掉在屏幕上的显示 echo "test"| tee -a file1 file2 > ...
- C++设计模式-Observer观察者模式
Observer观察者模式作用:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己 UML图: S ...
- Django中提示TemplateDoesNotExist?
用的是1.9版本.需要在settings.py文件中设置TEMPLATES下的DIRS如下: TEMPLATES = [ { 'BACKEND': 'django.template.backends. ...