我正在尝试从命令行编译一个 Java 项目。该项目包含不同包中的类文件。如果我指定每个包的每个 java 文件,程序编译并运行良好。这是我的目录结构:
toplevel/
mainFile.java
level1/ (Contains fileA.java)
现在如果我这样做javac -classpath ./toplevel toplevel/mainFile.java toplevel/level1/fileA.java
了,它编译得很好,我可以用java toplevel/mainFile
. 现在,如果在 level1 中创建一个名为“level2”的新文件夹并在其中创建一个类“B”,新的目录结构将变为:
toplevel/
mainFile.java
level1/ (Contains fileA.java)
level2/ (Contains fileB.java)
为了编译这个我必须做:
javac -classpath ./toplevel toplevel/mainFile.java toplevel/level1/fileA.java toplevel/level1/level2/fileB.java
这变得荒谬了。是否有递归编译每个包和其中的文件的指令?