最近在做项目时,遇到了不少莫名其妙的错误,这里汇总记录一下:
1. JavaWeb项目突然变为Java项目解决方案
找到项目下的.setting文件夹,然后找到其中的org.eclipse.wst.common.project.facet.core.xml文件,修改为:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<fixed facet="jst.web"/>
<fixed facet="java"/>
<installed facet="java" version="1.7"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="jst.web.jstl" version="1.2.1"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
接着,刷新项目即可。
2. ClassNotFoundException: ContextLoaderListener
最近在做spring+struts2+IbatIS的项目,昨天eclipse启动服务器正常,结果今天来了就总是报错,错误如下:
严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1352)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3677)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4187)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
方案一:排除tomcat的缓存问题的可能。把eclipse里面的servers全部删除,然后把工程clean一下,之后重新建一个server运行,重新运行程序看错误是否依旧存在。
方案二:可能是你的jar文件没有同步发布到自己项目的lib目录中(如果你是用Maven进行构建的话) 可以尝试在项目上点击右键 -> Properties -> Deployment Assembly -> Add -> Java Build Path Entries -> Next, 然后选择你的Maven Dependencies 确定即可。转载自:https://blog.csdn.net/sapphire_aling/article/details/6947108
3. Server Tomcat v7.0 Server at localhost failed to start.
1.把你工作空间文件夹下的如下路径打开:
<workspace>\.metadata\.plugins\org.eclipse.core.resources
然后删除 .snap 文件,我在eclipse打开的情况下有这个.snap文件。
2.把你工作空间文件夹下的如下路径打开:
<workspace>\.metadata\.plugins\org.eclipse.wst.server.core
删除里面的temp*文件夹,删除后重启eclipse,tomcat就可以用了。
3.在server视图窗口中 把tomactt删除 然后再从新添加tomcat 之后再重新在启动你的web项目。
4.打开任务管理器,找到javax.exe,右键结束进程,重启eclipse,tomcat就可以用了。
转载自:https://blog.csdn.net/kwc1314/article/details/79086519/
4. Multiple Contexts have a path of “/项目文件名”
由于在eclipse里测试两个基本相同的代码,所以就把test2的项目直接复制了一下,运行就出现了标题所示的错误。
解决方案:在eclipse找到servers目录下的server.xml,见下图修改即可。
转载自:Multiple Contexts have a path of "/xxxx"解决方法
5. org.codehaus.plexus.archiver.jar.Manifest.write
pom.xml文件在添加了新的依赖后,一直报:org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)的错误,Maven Update后依然如此。查找资料初步确定是Eclipse中自带的Maven插件版本太低的原因(我用的Eclipse是Eclipse Neon (4.6)版本,自带Maven插件),需要更新Maven插件:help -> Install New Software -> add ,输入下面的地址:
http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/
一步步点下一步完成更新流程即可,再右键项目->maven->update project,然后就发现pom.xml文件不再报错了。
参考自:pom.xml错误:org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)的解决方法