1

我收到以下错误

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 的计算机上使用我的应用程序。那么如何解决这个运行时问题呢?

4

1 回答 1

1

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

编辑(评论后)

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

于 2013-04-22T14:17:16.567 回答