我制作了自定义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
但显然它无法识别库或其中的类。我究竟做错了什么?
答案 0 :(得分:3)
您应该列出所有jar文件的名称:
javac -cp ".;QLibrary.jar" *java
或者你可以用这种方式使用通配符:
javac -cp ".;*" *java
类路径条目可以包含基本名称通配符*
,这类似于指定扩展名为.jar
或.JAR
的目录中所有文件的列表。例如,类路径条目foo/*
指定名为foo的目录中的所有JAR文件。简单地由*
组成的类路径条目扩展为当前目录中所有jar文件的列表。
...例如,如果目录foo
包含a.jar
,b.jar
和c.jar
,则类路径foo/*
将扩展为foo/a.jar;foo/b.jar;foo/c.jar
}。
http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html
答案 1 :(得分:1)
正如javac -cp option中所述,如果您使用Windows
,请尝试java -cp .;QLibrary.jar mysource