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文件,怎么编译运行啊
什么叫一个源文件很多个*.java文件
1个java文件就是1个源文件,多个java文件就是多个源文件,说法就是错误的
如果要一起编译,就放在一个目录下执行javac
*.java
⑶ 如何用javac 编译多个目录中的java文件
根据我个人的经验,只要找到包含主函数的那个类进行编译,如果在主函数内有导入其他用户编写的包,会自动进行编译得到.class文件的。你可以试试看。
⑷ java 同时编译多个类的问题
可以javac 指令的参数-sourcepath指定源文件所在目录(src),可以是一个或是多个;在同一个目录下直接编译主类就行。
请采纳答案,支持我一下。
⑸ 一个文件夹里面有多个java文件如何编译
1,使用doc命令进入到该目录
2,在该目录下输入编译命令javac *.java
3,java 命令运行相应的字节码文件
⑹ javac一次可同时编译数个Java源文件吗
这个是可以的。
解释 :javac可以编译多个文件,通过 “javac *.java"实现,前提是这些java文件都要在此编译路径下,如果不在的话,先通过cd命令进行位置切换即可。