Spring MVC项目启动时遇到的一些问题

       前言:今天第一次用STS跑SpringMVC+Spring,按照书上的敲完了发现遇到了很多问题,书是老师刚送的Spring Boot实战,敲的代码是75-81那个例子的代码。

第一个问题: The server does not support version 3.1 of the J2EE Web module specification.

因为本人的tomcat是7.0的嘛,说是不支持3.1版本的web项目,本人经过在网上多方资料的查找,试了几个方法
1.想直接修改pom.xml的servlet.version,将其配置3.0.1,如下图,但是不管用,项目版本还是3.1,猝。

2.通过右键项目,点击项目的properties,并找到Project Facets,试图修改版本为3.0,但是不行,猝。

3.最后找到项目setting文件修改配置,将version修改为3.0,还是不行,猝。

鉴于以上方法均不行最后只得装了支持servlet3.1版本的tomcat8.0,但是好在tomcat7.0以后的版本不用配置环境变量啥的,解压完就能用。

第二个问题警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ..

装完tomcat8.0之后发现并不能启动,在我将第二个问题中标示的警告去除后得以启动。

这里我关闭tomcat,双击eclipse下tomcat服务器,在出来的Tomcat server at localhost页面中找到server options选项,选中其中的选项”Publish modual contexts to separat XML files“,ctr+s,启动tomcat。

还有一个警告是Setting property 'source' to 'org.eclipse.jst.jee.server,我找了一些博客但是没发现解决方法,最后我发现这只是一个警告,并不会影响运行就不管了。

参考博客:https://www.cnblogs.com/dflmg/p/6223345.html

第三个问题:ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Fai

tomcat能启动了,但是还会报错,完整的错误如下:

严重: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/test]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:587)
	at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1798)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@2fa56038]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
	at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4969)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5099)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	... 10 more
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@560533bd]
	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:135)
	at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:706)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	... 13 more
Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: invalid LOC header (bad signature)
	at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:113)
	at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
	... 16 more
Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)
	at java.util.zip.ZipFile.read(Native Method)
	at java.util.zip.ZipFile.access$1400(ZipFile.java:60)
	at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:717)
	at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:419)
	at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
	at sun.misc.IOUtils.readFully(IOUtils.java:65)
	at java.util.jar.JarFile.getBytes(JarFile.java:425)
	at java.util.jar.JarFile.getManifestFromReference(JarFile.java:193)
	at java.util.jar.JarFile.getManifest(JarFile.java:180)
	at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:111)
	... 17 more

这个有多个问题可以导致,我这里是因为包没下全,当时maven下载的太慢了我就直接断了,但是选择maven下的update project并强制更新并不管用,要清空maven的repository库才行,我找到了位于C盘下的maven库,并全部删除,具体如下图,最后项目终于不报错了。

第四个问题:The origin server did not find a current representation for the target resource or is not willing to。。

项目虽然不报错了,服务器与项目也都可以启动,但是打开网页还是打不开,最后我将jdk在pom.xml中设置为1.8然后解决了这个问题。

完整运行的项目的部分日志记录:

猜你喜欢

转载自blog.csdn.net/q610376681/article/details/82778576
今日推荐