javac:编译一个使用其他类的.java文件

Raj*_*war 9 java compiler-errors

我有3个java文件

a.java  
b.java  
c.java  
Run Code Online (Sandbox Code Playgroud)

我设法为a和b使用生成.class文件

javac example/a.java  
javac example/b.java  
Run Code Online (Sandbox Code Playgroud)

但是当我为c.java做同样的事情时,我得到错误错误:找不到符号b和c

关于如何解决这个问题的任何建议?

所有java文件都在同一个文件夹中

Tim*_*ote 19

当您尝试编译类时,您必须拥有类ab类路径c.这允许编译器验证它们是否存在,找出它们具有的方法等.

javac对包名和类路径非常敏感.最简单的方法是同时编译所有三个javac example/a.java example/b.java example/c.java.

如果您转到示例的父目录(让我们调用它src),那么您可以运行以下命令:

javac -cp src src/example/c.java
Run Code Online (Sandbox Code Playgroud)

您必须这样做的原因是因为您的类将其包列为example.由于您的包名称,javac正在example其类路径中查找目录,它希望在哪里找到a.classb.class.

  • javac example/a.java example/b.java example/c.java 或 javac *.java 有效 (2认同)