1

我已经制作了我的自定义 jar 文件并使用它编译它

path C:\Program Files\Java\jdk1.7.0_04\bin;%path%
javac *.java
jar cvf QLibrary.jar *.class

然后我把那个jar文件放在我所在的同一个目录Main.java

Main.java将使用 jar 中的类

所以我决定把import QLibrary.*;里面Main.java

我编译使用

path C:\Program Files\Java\jdk1.7.0_04\bin;%path%
javac -cp ".;*.jar" *java

但显然它不识别库或其中的类。我到底做错了什么?

4

2 回答 2

3

您应该列出所有 jar 文件的名称:

javac -cp ".;QLibrary.jar" *java

或者您可以通过这种方式使用通配符:

javac -cp ".;*" *java

类路径条目可以包含基本名称通配符*,这被认为等同于指定目录中所有文件的列表,扩展名为.jar.JAR。例如,类路径条目foo/*指定名为 foo 的目录中的所有 JAR 文件。一个简单的类路径条目*扩展为当前目录中所有 jar 文件的列表。... 例如,如果目录foo包含a.jarb.jarc.jar,则类路径foo/*扩展为foo/a.jar;foo/b.jar;foo/c.jar.

http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html

于 2012-10-24T01:08:17.690 回答
1

javac -cp 选项中所述,如果您正在使用Windows,请尝试java -cp .;QLibrary.jar mysource

于 2012-10-24T01:21:37.323 回答