这是我的代码
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
有人可以帮忙吗?
答案 0 :(得分:2)
编译器正在检查你的代码,因为你只是同时编译类B
而不编译类A
,编译器会抛出一个错误,因为它不知道是什么{{ 1}}是。因此,要么使用
A
或告诉javac -d . A.java B.java
使用javac
选项查找A
类的位置。您指定的类路径应该是包含-classpath
的.jar文件,或者是类结构的基目录。即如果您的课程A
位于A
,则您的课程路径为/foo/bar/com/a/A.class
/foo/bar/
同时查看javac -classpath . -d . B.java
javac
。