嗨,我有 3 个 java 文件
a.java
b.java
c.java
我设法为 a 和 b 生成 .class 文件使用
javac example/a.java
javac example/b.java
但是当我对 c.java 执行相同操作时,我收到错误错误:找不到符号 b 和 c
关于如何解决这个问题的任何建议?
所有java文件都在同一个文件夹中
嗨,我有 3 个 java 文件
a.java
b.java
c.java
我设法为 a 和 b 生成 .class 文件使用
javac example/a.java
javac example/b.java
但是当我对 c.java 执行相同操作时,我收到错误错误:找不到符号 b 和 c
关于如何解决这个问题的任何建议?
所有java文件都在同一个文件夹中
当您尝试编译 class 时,您必须拥有类a
和类路径。这允许编译器验证它们是否存在,找出它们有什么方法,等等。b
c
javac
对包名和类路径非常敏感。最简单的做法是像这样同时编译所有三个javac example/a.java example/b.java example/c.java
。
如果您转到 example 的父目录(我们称之为它src
),那么您可以运行以下命令:
javac -cp src src/example/c.java
您必须这样做的原因是因为您的类将它们的包列为example
. 由于您的包名称,javac
正在寻找example
其类路径中的目录,它希望在其中找到a.class
和b.class
.
大概你在example/
运行时不在目录中javac
。尝试
javac -cp example c.java
或者只是cd
进入该目录。c.java
对于所依赖的类,类路径不会自动解析。