不同包中的java文件未编译

不同包中的java文件未编译,java,Java,这是我的密码 package com.a; public class A{} 我使用 javac -d . A.java 我在com/a/a.claas中编译 现在我创建了另一个类 package com.b; import com.a.A; class B extends A{} 用javac-d编译它。B.java 投掷误差 B.java:2: error: cannot find symbol import com.a.A; ^ symbol: class A l

这是我的密码

package com.a;
public class A{}
我使用

javac -d . A.java
我在com/a/a.claas中编译

现在我创建了另一个类

package com.b;
import com.a.A;
class B extends A{}
javac-d编译它。B.java
投掷误差

B.java:2: error: cannot find symbol
import com.a.A;
        ^
symbol:   class A
location: package com.a
B.java:3: error: cannot find symbol
class B extends A{}
              ^
symbol: class A
2 errors

有人能帮忙吗?

编译器正在检查您的代码,由于您只同时编译class
B
而不是class
A
,编译器会抛出一个错误,因为它不知道
A
是什么。因此,要么使用

javac -d . A.java B.java
或者使用
-classpath
选项告诉
javac
在哪里可以找到
A
的类。指定的类路径应该是包含
a
的.jar文件,或者是类结构的基本目录。也就是说,如果您的类
A
位于
/foo/bar/com/A/A.class
,那么您的类路径将是
/foo/bar/

javac -classpath . -d . B.java
还可以查看
javac