自动编译多个java包

自动编译多个java包,java,class,compilation,packages,Java,Class,Compilation,Packages,我正试图从命令行编译一个Java项目。该项目包含不同包中的类文件。如果我指定每个包的每个java文件,那么程序可以编译并运行良好。以下是我的目录结构: toplevel/ mainFile.java level1/ (Contains fileA.java) 现在,如果我使用javac-classpath./toplevel-toplevel/mainFile.java-toplevel/level1/fileA.java,这会编译得很好,我可以使用java-toplevel/

我正试图从命令行编译一个Java项目。该项目包含不同包中的类文件。如果我指定每个包的每个java文件,那么程序可以编译并运行良好。以下是我的目录结构:

toplevel/
    mainFile.java
    level1/ (Contains fileA.java)
现在,如果我使用
javac-classpath./toplevel-toplevel/mainFile.java-toplevel/level1/fileA.java
,这会编译得很好,我可以使用
java-toplevel/mainFile
运行它。 现在,如果a在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
。是否有递归编译每个包及其内部文件的指令

您是否尝试了
-sourcepath
标志。从

-源路径源路径 指定用于搜索类或接口定义的源代码路径。与用户类路径一样,源路径条目由分号(;)分隔,可以是目录、JAR存档或ZIP存档。如果使用包,目录或存档中的本地路径名必须反映包名


为什么不使用像ant或maven这样的构建工具呢?这将是微不足道的。可能重复@rocketboy我不想使用任何构建工具,这需要学习一些额外的东西。用户必须能够从命令行运行它