【初入Maven】HTTP Status 500 - Error instantiating servlet class xxx && java.lang.ClassNotFoundException
第二天学习Maven,下载接着安装Maven,刚试着启动项目就出现了花了我一个上午研究的错误,虽然最后解决了,但是还是不清楚到底根本什么原因。这里分享下整个过程,互相研究
访问Servlet报500错误,哎呦头疼
接着刷新了下,发现错误描述是找不到可用的资源
再回去看下错误描述:
root cause
java.lang.ClassNotFoundException: xxxxxxxxxxxxx
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base/java.lang.Thread.run(Thread.java:844)
很显然是找不到项目里的Servlet
我接着看了很多文章,然后首先去检查了web.xml配置是否正确。
有意思的来了,我一上午检查了10多遍这个地址,的确No Problem!
为什么还会无法找到servlet文件呢?还有另一种说法,就是没有生成字节码文件。
clean之后重新run了该项目,然后立马查看项目所在的目录下,果然没有找到.class文件。
网上说的方法对于初入码农的我有点无法理解,接着我自己捉摸起来。
第一次尝试如图,在这里打上勾,发现项目目录下产生字节码文件了。
重新启动Tomcat,成功访问。并在文件夹下看到了编译后的字节码文件
不过在写文章之前,因为想截几张图,再去测试的时候发现不管用了。
IDEA说起来真奇怪,然后又去捉摸了很久。干脆重新部署下该Maven吧。
右击Maven项目,如图重新建立。
哈哈哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈 x 666
终于让老子看见你了(;´༎ຶД༎ຶ`)
经过测试,这个Rebulid是挺有效果的
初入Maven,差点让新人没了味,但为了表示欢迎,hello maven这句话总是要有的!
转载:https://blog.csdn.net/yu1300000363/article/details/104731666
查看评论