项目在idea下运行main报错
sud2g 发布于51月前 9答/5813阅

Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jetty/server/Connector

at com.jfinal.server.ServerFactory.getServer(ServerFactory.java:44)

at com.jfinal.core.JFinal.start(JFinal.java:161)

at com.RunEovaOSS.main(RunEovaOSS.java:12)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.server.Connector

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

... 8 more


[沙发] Jieven
@sud2g 用Eclipse吗 我教你 http://doc.eova.cn/001/1-1.html
[地板] sud2g
eclipse 下我已经测试过了,是没有问题的。idea下为什么会有这种错误?
[地毯] £激情★岁月彡
@sud2g 我的都么有 使用Tomcat跑 不用main方法
[4楼] Jieven
@sud2g 报错是因为找不到jetty相关的包,你还使用Tomcat吧。
[5楼] sanshizi
@sud2g @Jieven 修改pom.xml下依赖包jetty-server的scope, provided 改为 compile
[6楼] Jieven
@sud2g  作用域的解释:

compile
默认的scope,表示 dependency 都可以在生命周期中使用。而且,这些dependencies 会传递到依赖的项目中。适用于所有阶段,会随着项目一起发布(显然Web容器相关的Jar不能随项目一起打包.)

provided
跟compile相似,但是表明了dependency 由JDK或者容器提供,例如Servlet AP和一些Java EE APIs。这个scope 只能作用在编译和测试时,同时没有传递性。

目前设置额类型为provided,应该会自动引入并参与编译,理论上是不会存在NoClassDefFoundError 这种问题了,所以问题还是应该从IDEA配置和使用上下手,而不是修改scope来达到目的.
[7楼] 久&若汐
@sud2g 之前我也是这个问题。下载了这个jar又报其他jar的问题、后面找技术老大解决。忘记具体怎么解决的了、我记得maven中,就是c盘   .m2那个目录下有个jar文件(org.eclipse.jetty.server.nio)有问题。我重新下载了个好像就可以了
[8楼] zShiing
@sanshizi 可以 完美结局问题
[9楼] 善己及人
@sud2g  怎么解决的?我也遇到同样问题
提交评论
嘿,我来帮你!