【问题标题】:Eclipse does not recognize Jsoup JAR file in Dynamic Web ProjectEclipse 无法识别动态 Web 项目中的 Jsoup JAR 文件
【发布时间】:2015-10-21 20:07:17
【问题描述】:

我在 Eclipse 3.6.1(Helios) 中创建了一个动态 Web 项目。我已将 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)

【问题讨论】:

标签: java eclipse servlets jar jsoup


【解决方案1】:

您已经添加了用于编译动态 Web 项目的 jar 文件。在执行您的应用程序时也应该这样做。 Right click on your dynamic web project and click run As and Run configurations. Click the classpath and check the jar file is added there or not. 如果没有,请将其添加到执行动态 Web 应用程序时将引用的类路径中。

希望对你有帮助!

【讨论】:

    【解决方案2】:

    尝试将罐子添加到 1. WEB-INF/lib 文件夹。 2. Tomcat/lib 文件夹。

    清理服务器, 重启一下, 并运行应用程序。

    这对我有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-31
      • 1970-01-01
      • 1970-01-01
      • 2012-08-25
      • 2012-07-24
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      相关资源
      最近更新 更多