未能启动java程序收到的ClassNotFound异常

时间:2015-10-27 16:06:50

标签: java jsoup

尝试在linux上启动java程序,但无法找到JSoup jar文件。我已经检查了其他问题并找到了如何在编译时尝试添加库以及尝试运行它但我不确定我是否正确执行它因为它仍然无法加载库....

我输入以下命令:

root@vps5441:/var/www/var/www/TimetableLoader# javac -cp /var/www/var/www/TimetableLoader/jsoup-1.8.1.jar:/var/www/var/www/TimetableLoader/mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar. TimetableLoader.java                
root@vps5441:/var/www/var/www/TimetableLoader# java -cp /var/www/var/www/TimetableLoader/jsoup-1.8.1.jar:/var/www/var/www/TimetableLoader/mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar. -classpath /var/www/var/www/TimetableLoader/ TimetableLoader

当程序试图访问JSoup库时,我收到以下错误。

Exception in thread "main" java.lang.NoClassDefFoundError: org/jsoup/Jsoup
    at TimetableLoader.main(TimetableLoader.java:46)
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:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 1 more

1 个答案:

答案 0 :(得分:0)

我假设jsoup-1.8.1.jar在当前目录中?

您通常不需要-classpath-cp。它可能会忽略-cp给出的值。

将自己的课程放在第三方课程之前。

您已经在/ var / www / var / www / TimetableLoader中,所以请保持简单: -

root@vps5441:/var/www/var/www/TimetableLoader# java -cp .:jsoup-1.8.1.jar:mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar  TimetableLoader

(最好摆脱运行习惯的习惯" root"除非你有真正的需要,只要说')