在命令提示符模式下编译和运行程序了,还可以进行管理把源码和位码分开,于是我在桌面新建了一个src文件夹目的是放源码,和一个classes文件夹目的是放位码。
-sourcepath 这个指令的意思就是指定在一个文件夹寻找相关的源码,-d 指定了编译完成后的位码存放文件夹
比如 javac -sourcepath src -d classes src/HelloWorld.java ,意思就是编译src里的HelloWorld.java,如果需要用到其他的类源码从src文件夹下寻找,编译完指定送到classes里。
我们还可以在编译的时候用 -verbose 自变量来查看编译的过程和细节,
比如 javac -verbose -sourcepath src -d classes src/HelloWorld.java
我们可以清晰的看到编译的过程是,首先,先搜索-sourcepath指定的文件夹有没有我们需要用到的源码,然后会搜索CLASSPATH里是否有已经编译好的位码,因为没有指定所以默认搜索当前路径,如果存在且源码没有改变则不需要编译,如果不存在则开始编译。
如果我们指定了classpath,比如 javac -verbose -sourcepath src -cp classes -d classes src/HelloWorld.java
则会从classes这个路径寻找是否有已编译好的位码文件。