为什么在main函数中run as application,执行正常;而通过tomcat发布后,就报错classnotfound?

来源:互联网 发布:淘宝拖动滑块完成验证 编辑:程序博客网 时间:2024/06/15 22:36

为什么在main函数中run as application,执行正常;而通过tomcat发布后,就报错classnotfound?

明明两种方式的java代码是一样的啊,只是一个在main函数中,一个不再main函数中而已。

而包含这个class的jar包明明已经引入了。




tomcat有自己的classloader,而不是时候jre即Java虚拟机中的classloader,它自定了classloader。
这也是为什么在eclipse中,一样的代码,1)一个放入main函数,在eclipse中右击-run as application  2)一个放入action中即不用main函数那种,在eclipse中启动tomcat运行,不会报classnotfound。

因为在eclipse中run as application使用的是jre的classloader,而tomcat有自己的classloader,并且执行原理及加载顺序,是有区别的。


https://zhidao.baidu.com/question/263960904238373645.html



tomcat官方文档:

http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html


阅读全文
0 0
原创粉丝点击