飞道的博客

【初入Maven】HTTP Status 500 - Error instantiating servlet class xxx && java.lang.ClassNotFoundException

247人阅读  评论(0)

第二天学习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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场