javac的编译单位其实就是单个的java文件,为了达到同时编译多个java文件的目的,可以将所需编译的java文件路径保存在一个txt中,比如sourcelist.txt,以换行为分隔符(这个过程称为类文件注册)。这些java文件没有彼此联系的必要,它们可以是隶属不同的包、在不同的文件夹下(当然建议包路径相同的java类文件放在同一文件路径下),javac命令只会一行一行地读取其中的记录,作为一个单位进行类编译。
举例说明。假设你的这个包放在src文件夹下,src的父目录为project,sourcelist.txt也事先新建在project文件夹下。首先将这个包中你需要编译的java文件相对于src的路径(如src\com\test\Test.java)注册到sourcelist.txt文件中;接着在project文件夹中新建一个bin文件夹(或者
class文件夹,命名随你乐意取),用以编译后
class文件的放置(这个配以javac命令中-d选项去理解);如果还有其他类库(如
jxl.jar或者mysql.jar),建议在project目录下新建一个lib(同样命名不限)文件夹,然后复制到该文件夹下(配以-classpath选项理解);最后检查上述准备工作都完成,win + R、输入cmd都不用讲,现在在cmd中用cd命令切换到project目录,然后输入命令:
javac -classpath lib/
jxl.jar -sourcepath src @sourcelist.txt -d bin
现在就很好理解了。-d选项就是destination的意思,即生成
class文件被送到该选项后面的bin文件夹;-classpath就是将你要用到的jar包注册到类加载路径中;-sourcepath就是告诉javac命令去哪里找类文件。
最后呢,为了方便,可以在project文件夹下新建一个
bat文件,并输入以下内容:
javac -classpath lib/
jxl.jar -sourcepath src @sourcelist.txt -d bin
@pause
这样每次直接点击即可,而你需要编译其他包的或者其他java文件,直接在sourcelist.txt文件中添加或修改。这其实也是一种“弱耦合”、模块化的表现。
相关文章
- java 编译jar包_用命令行编译java并生成可执行的jar包方法
- Java泛型详解:<T>和Class<T>的使用。泛型类,泛型方法的详细使用实例
- 根据CRD的yaml文件生成java的models类
- 关于Java的一个包里可以有几个public类
- JAVA Concurrent包 中的并发集合类
- java无法找到加载主类是什么意思,在Java程序运行时遇到的“Could not find or load main class(无法找到或者加载主类)”是什么意思?...
- [Java]不同包的类之间的继承
- Java 的不可变类 (IMMUTABLE CLASS) 和 可变类 (MUTABLE CLASS)
- Java 反射理解(一)-- Class 类的使用
- Java——设计一个矩阵类,其中封装有一个数组,含求所有元素和的方法方法。继承矩阵类,构造时要求数据的行列相同,并提供求主对角线元素和的方法, 用随机数构建6*6方阵,输出方阵,并求出所有元素。