2011-05-11 30 views
6

我在SRC/COM /例如兩個java文件(A.java + B.java)如何訪問同一個包的Java類

A.java

package com.example; 

public class A { 
    public void sayHello(){ 
     System.out.println("Hello"); 
    } 
} 

B.java

package com.example; 

public class B{ 
    public static void main(String... args) { 
     A a = new A(); 
     a.sayHello(); 
    } 
} 

如果我cd到上述src和輸入javac -d類的src/COM /例子/ B.java

一個級別,我得到一個錯誤說不能找到一個符號?

回答

1

這是因爲Java不知道在哪裏可以找到其他文件的來源。您需要將cd放入src目錄,或在-sourcepath上指定src目錄。

5

javac不知道在哪裏可以找到源類,您必須使用-sourcepath選項指定它。

參見:

C:\example>mkdir src 
C:\example>type > src/ 
C:\example>mkdir src\com\example 
C:\example>more > src\com\example\A.java 
package com.example; 
public class A { 
} 
^C 
C:\example>more > src\com\example\B.java 
package com.example; 
public class B { 
    A a; 
} 
^C 
C:\example>javac -d 
C:\example>mkdir classes 
C:\example>javac -d classes src\com\example\B.java 
src\com\example\B.java:3: cannot find symbol 
symbol : class A 
location: class com.example.B 
     A a; 
     ^
1 error 
C:\example>javac -d classes -sourcepath src src\com\example\B.java 
C:\example> 
0

嘗試javac的-d類的src/COM /例子/ * java的

相關問題