大家好。我正在研究Eckel,試圖弄清楚包的編譯,但是書中的例子描述得很差,我在網上沒有找到任何好的信息,所以我請這裡的大師告訴我問題是什麼。
一般來說,有一個access資料夾,裡面有一個檔案LibTest.java,其內容:
我嘗試使用不同的命令進行編譯,例如 設定環境變量,為 Path \Java\jdk1.7.0_60\bin 添加路徑 C:\Program Files,為 CLASSPATH 添加 D:\Work\Java\stud 我做錯了什麼,為什麼編譯器不提取包文件 ,據我了解,它應該在CLASSPATH 中查找它們?
一般來說,有一個access資料夾,裡面有一個檔案LibTest.java,其內容:
//: access/LibTest.java // Uses the library. import net.mindview.simple.*; public class LibTest { public static void main(String[] args) { Vector v = new Vector(); List l = new List(); } } /* Output: net.mindview.simple.Vector net.mindview.simple.List *///:~
與access資料夾同級有一個套件net/mindview/simple,在simple資料夾中有一個檔案List。java和檔案
//: net/mindview/simple/List.java // Creating a package. package net.mindview.simple; public class List { public List() { System.out.println("net.mindview.simple.List"); } } ///:~
Vector .java
//: net/mindview/simple/Vector.java // Creating a package. package net.mindview.simple; public class Vector { public Vector() { System.out.println("net.mindview.simple.Vector"); } } ///:~
檔 Vector.java 和 List.java 編譯正常,但是當我嘗試編譯 LibTest.java 時,出現錯誤LibTest.java:3: error: package net.mindview.simple does not Exist
我嘗試使用不同的命令進行編譯,例如 設定環境變量,為 Path \Java\jdk1.7.0_60\bin 添加路徑 C:\Program Files,為 CLASSPATH 添加 D:\Work\Java\stud 我做錯了什麼,為什麼編譯器不提取包文件 ,據我了解,它應該在CLASSPATH 中查找它們?
javac LibTest.java
javac -classpath . LibTest.java
javac D:/Work/Java/stud/access/LibTest.java
GO TO FULL VERSION