在Eclipse(Java EE)上创建一个Maven 3.5.3+Spring MVC 4.2.3的Helloworld过程中遇到的一些问题以及解决

1. Tomcat启动失败

Server Tomcat v8.0 Server at localhost failed to start.

Tomcat failed to start

查看console

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/javaweb3]]
	at java.base/java.util.concurrent.FutureTask.report(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.get(Unknown Source)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:915)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/javaweb3]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
	... 6 more
Caused by: java.lang.NoClassDefFoundError: Lorg/apache/commons/logging/Log;
	at java.base/java.lang.Class.getDeclaredFields0(Native Method)
	at java.base/java.lang.Class.privateGetDeclaredFields(Unknown Source)
	at java.base/java.lang.Class.getDeclaredFields(Unknown Source)
	at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
	at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:256)
	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:132)
	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)
	at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:335)
	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:782)
	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:306)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5202)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
	... 6 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.Log
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1166)
	... 20 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.Log
缺少common-logging的jar包

解决方法:

在WEB-INF下的lib文件夹下,放置commons-logging-1.1.3.jar,并右键build path,add Jars,导入

放置commons-logging

2. 网页能打开,但是页面报错404

404页面

(1)查看java Build path,即编译路径设置,是否正确,查看需要的外部jar包和类库是否正确

java Build path

(2)查看Deployment Assembly,即发布路径设置。

    1)查看需要的jar包是否正确


添加方法:



    2)查看路径是否文件配置正确


错误可能原因:

maven构建web项目默认2.3,修改成3.0后会新建一个WebContent文件夹,相应的发布路径也变成了/WebContent。

如果配置的XML文件还在/webapp下的话就会产生找不到文件的错误,就会出现404页面。


修改方法:




(3)查看pom.xml中的springmvc版本是否与Spring配置文件中的一致,例如,我是4.2.3,对应的就应该是4.2

pom.xml


3.如果最后项目莫名显示红叉叉X,ε=(´ο`*)))唉

解决方法:


等到更新完成后,就不会显示莫名的错误了。更新完成后,可以再检查一下上述所有错误。

最后,祝你们运行成功。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值