我在Eclipse 3.6.1(Helios)中创建了一个Dynamic Web Project。我已将JAR文件添加到此项目的构建路径中,并且它们都运行良好。但是,Jsoup
是一个无法识别的JAR文件。每当我尝试运行我的Servlet时,我的动态Web项目,我在服务器日志中收到错误,说明java.lang.NoClassDefFoundError: org/jsoup/Jsoup
。在类文件编辑器中进一步检查后,我看到了消息
The JAR file /Users/ongozahcomputer/Downloads/jsoup-1.8.2.jar has no source attachment. You can attach the source by clicking Attach Source below:
“
我已经配置了包含所有文件的包的构建路径,点击了add external JARs
并添加了jsoup-1.8.2.jar
。它出现在构建路径中。根据其他用户的建议,我还将jsoup-1.8.2.jar
添加到项目的WEB-INF/lib
文件夹中。我真的很难过为什么它没有被认可,任何帮助将不胜感激。谢谢!
这是控制台输出:
WARNING: StandardWrapperValve[server.HelloServlet2]: PWC1406: Servlet.service() for servlet server.HelloServlet2 threw exception
java.lang.NoClassDefFoundError: org/jsoup/Jsoup
at server.HelloServlet2.doGet(HelloServlet2.java:149)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:637)
答案 0 :(得分:0)
您已添加jar文件以编译动态Web项目。执行应用程序时也应该这样做。
{
"_id": 1,
"nome": "Matteo",
"cognome": "Cappella",
"opere": [
{
"_id": 1,
"titolo": "Eppoi",
"categoria": "back-end",
}
]
}
如果没有,请将其添加到类路径中,这将在执行动态Web应用程序时引用。
希望它有所帮助!
答案 1 :(得分:0)
尝试将罐子添加到 1. WEB-INF / lib文件夹。 2. Tomcat / lib文件夹。
清理服务器, 重启吧 并运行该应用程序。
这对我有用。