【问题标题】:cannot find symbol when compiling java when compiling an external class编译外部类时编译java时找不到符号
【发布时间】:2021-08-23 08:11:36
【问题描述】:

当我尝试从 Main 类调用 Programmer 类时出现错误,说它找不到符号 Programmer。 注意:Programmer.java 和 Main.java 在同一个文件夹(包)中。

Main.java

public class Main{

  public static void main(String[] args) {
        // Scanner scann = new Scanner(System.in);
        Programmer john = new Programmer();
        System.out.println(john);
  }

 }

Programmer.java:

public class Programmer {
  String language = "java";
  String framework = "Spring";
} 

java main.java 命令的结果

main.java:8: error: cannot find symbol
        Programmer john = new Programmer();
        ^
symbol:   class Programmer
location: class Main
main.java:8: error: cannot find symbol
        Programmer john = new Programmer();
                              ^
symbol:   class Programmer
location: class Main
2 errors

错误:编译失败

【问题讨论】:

  • 你编译Programmer类了吗?

标签: java


【解决方案1】:

单文件模式,你只需键入'java YourClass.java'需要先编译所有依赖项。

javac Main.java
java Main

这应该让你的程序运行,并编译附加的类文件。如果您更喜欢使用单一源文件。

javac Programmer.java
java Main.java

应该可以工作,但如果你的类路径上有剩余的 main.class,你可能会遇到问题。

**这适用于引入单源模式的 java 11 及更高版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多