javac:编译一个使用其他类的.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文件都在同一个文件夹中
当您尝试编译类c
时,必须在类路径中包含类a
和b
。 这允许编译器validation它们是否存在,找出它们具有的方法等。
javac
对包名和类路径非常敏感。 最简单的方法是同时编译所有三个, javac example/a.java example/b.java example/c.java
。
如果你转到示例的父目录(让我们称之为src
),那么你可以运行以下命令:
javac -cp src src/example/c.java
您必须这样做的原因是因为您的类将其包列为example
。 由于您的包名称, javac
正在其类路径中查找example
目录,它希望找到a.class
和b.class
。
当你运行javac
时,可能你不在example/
目录中。 尝试
javac -cp example c.java
或者只是进入该目录。 c.java
依赖的类不会自动解析类c.java
。