這是有史以來最愚蠢,最簡單的問題,但是我做錯了什麼?Java編譯/包/命名空間錯誤
在目錄結構稱爲
com/myname/robos
- Robo.java
- Arena.java
Robo.java:
package com.myname.robos;
public class Robo {
public void fala() {
System.out.println("Gleep Beep Boop!");
}
}
Arena.java:
package com.myname.robos;
import com.myname.robos.Robo;
public class Arena {
public static void main(String[] args) {
Robo r2 = new Robo();
r2.fala();
}
}
當我嘗試:
javac Robo.java
01編譯
。
當我再嘗試
javac Arena.java
我得到
Arena.java:3: error: cannot find symbol
import com.myname.robos.Robo;
^
symbol: class Robo
location: package com.myname.robos
Arena.java:8: error: cannot find symbol
Robo r2 = new Robo();
^
symbol: class Robo
location: class Arena
Arena.java:8: error: cannot find symbol
Robo r2 = new Robo();
^
symbol: class Robo
location: class Arena
3 errors
我知道這是有關目錄/包之間的不兼容的錯誤等名稱。
但我仍然沒有得到這個權利。 應該我在寫什麼?
'javac com/myname/robos/Robo.java','javac com/myname/robos/Arena.java',並且將'classpath'和'sourcepath'選項讀爲' javac'。 –
我必須從路徑之外運行編譯器嗎? – interstar
您必須以保留路徑的方式運行它。閱讀精細手冊。它記錄瞭如何使用'javac'。閱讀精細手冊。 –