JAVA编译2类和外部库的问题

时间:2013-02-07 22:23:18

标签: java compiler-errors

尝试在Windows命令提示符下编译时遇到编译问题。 我的目录设置如下 我在src目录中有我的.java文件(Main.java& getSource.java) 我在src的子目录(./lib/jsoup.jar)中有一个.jar文件

当我尝试编译时我做了

C:\src> javac -cp ".;/lib/*" Main.java

但我得到

.\getSource.java:1: error: package org.jsoup does not exist
import org.jsoup.Jsoup;
                ^
.\getSource.java:2: error: package org.jsoup.nodes does not exist
import org.jsoup.nodes.Document;

我不确定我哪里出错了。

我通过eclipse编写了这个应用程序,它在eclipse中编译得很好但是当我尝试通过命令行执行它时它不起作用。

另外,我碰巧找到了eclipse编译的.class并尝试使用

执行它
java Main

但它仍然给我一个相关的错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/jsoup/Jsoup
        at getSource.<init>(getSource.java:20)
        at Main.main(Main.java:10)
Caused by: java.lang.ClassNotFoundException: org.jsoup.Jsoup
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 2 more

1 个答案:

答案 0 :(得分:2)

尝试

C:\src> javac -cp .;lib/* Main.java

参考:了解http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html

中的类路径通配符

要运行该程序,请使用 java 命令,如下所示

C:\src> java -cp .;lib/* Main