【发布时间】:2013-08-31 18:17:12
【问题描述】:
我正在尝试从命令行编译 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 这越来越荒谬了。是否有递归编译每个包和其中的文件的指令?
【问题讨论】:
-
为什么不使用像 ant 或 maven 这样的构建工具?有了这些,这将是微不足道的。
-
@rocketboy 我不想使用任何构建工具,这需要学习一些额外的东西。用户必须能够从命令行运行它
标签: java class compilation packages