java - 在另一个中编译类时出现编译错误

标签 java compiler-construction

我有两个类 Hello1 和 Hello,我在 Hello 类中调用类 Hello1 构造函数,但是当我尝试使用命令编译 Hello 类时

javac 你好.java

我遇到编译时错误:

Hello.java:6:cannot find the symbol
symbol: class Hello1
location: class Hello
Hello1=new Hello();
^
Hello.java:6:cannot find the symbol
symbol: class Hello1
location: class Hello
Hello1=new Hello();
           ^

但是当我尝试使用命令编译类时:

javac Hello.java Hello1.java

它工作正常,但为什么我每次都必须使用这个命令来编译类?为什么编译器不能使用已经编译好的.class Hello1文件,以至于下次使用命令javac Hello.java。

最佳答案

您需要将当前目录添加到您的类路径中,以便编译器可以找到它。默认情况下,类路径不包括当前工作目录,因此编译器不会看到任何已编译的 .class 文件。为此,请像这样编译:

javac Hello.java -cp .

关于java - 在另一个中编译类时出现编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1567788/

相关文章:

compiler-construction - 为什么 Clang 将结构参数强制转换为整数

java - 如何在我的 Spring MVC Web 应用程序中为大多数请求运行通用代码?

java - 通过反射改变 colorPrimary 和 colorAccent

java - 创建自己的 "SeekBar"

iOS 框架和重复库

compiler-construction - 使用ifort 11.0编译时出现语法错误

java - 用于在 IntelliJ Idea 中捕获 `Exception` 的抑制警告参数

java - Hbase 表存在方法未按预期工作

c# - 在 try-finally block 中等待

python - 如何短路 [] 以创建类似列表的对象而不是标准列表?有可能吗?