运行时的Jsoup错误:线程“main”java.lang.NoClassDefFoundError中的异常

时间:2013-04-22 13:55:37

标签: java eclipse jsoup

我收到以下错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/jsoup/Jsoup
    at Main.main(Main.java:42)
Caused by: java.lang.ClassNotFoundException: org.jsoup.Jsoup
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 1 more

现在我到目前为止做了什么:

我在项目文件夹中创建了一个libs文件夹,并在那里添加了Jsoup.jar。然后在eclipse中单击属性,添加外部Jar并添加它。我看到了引用的库。

但问题仍然存在。我没有得到编译错误。所以这是一个运行时问题。感谢帮助。

编辑: 我发现了以下内容 如果我使用

编译
  javac -classpath /path/to/jsoup.jar myclass.java

然后

  java -classpath /path/to/jsoup.jar myclass

它运行完美。 现在。这对我不起作用,因为我将在没有Jsoup的计算机上使用我的应用程序。那么如何解决这个运行时问题?

1 个答案:

答案 0 :(得分:1)

转到Run configurations...菜单并检查运行任务的类路径。看起来您为编译步骤添加了库,但它没有在运行步骤中设置。

修改(评论后)

我深入研究了这个问题,发现应用程序容器需​​要这种依赖关系。因此,您只需将此库添加到应用服务器的类路径中。如果您使用Tomcat,只需将库放到%CATALINA_HOME%\lib目录。