※ 引述《id9455 (Pony)》之銘言:
: 假設目前的路徑是 d:\java\id9455\simple
: Array.java 和 List.java 放在 d:\java\id9455\simple
: TestLib.java 放在 d:\java\id9455
: 問題來了
: 在編譯的時候
: 如果在 d:\java\id9455\simple 下 javac *.java
: 可以正常編譯
: 但如果是:先編譯 Array.java,再編譯 List.java
try this:
d:\java\id9455 > javac simple\List.java (就算 Array 沒編譯也沒關係)
如果從結果反推回去的話..
大概可以推敲出是 class path 方面的問題
因為 class path 含有 "當前" 目錄 (其他的 library 這裡就略過不提了)
所以在 d:\java\id9455\simple 下 javac List.java
而 List 又去 import simple.Array;
所以 Compiler 反而會去 d:\java\id9455\simple\simple 下找 Array.java
至於為什麼 javac *.java 沒問題?
為什麼 List.java 明明 package simple;
卻還允許在 d:\java\id9455\simple 下 javac List.java (雖然會找不到 Array)
這部分我就不清楚了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.131.67.86