类越来越多了,是时候搞一波编译了。我们不能总是依赖CLASSPATH环境变量,那个参数主要是放一些公共的类路径,实际开发的话,我们是跟着项目走的。
步骤 1 编写编译脚本
每次都要一个个去编译文件,真鸡儿麻烦,要是有个方案直接一起编译所有的java文件,然后统一放到一个地方就好了。
duang,当然有啦,这个就是编译脚本,来到D:java18cstmgr目录,创建一个classes文件夹。顾名思义,这个文件夹就是用来放置我们所有的class文件的。
image
步骤 2 package.bat
创建一个package.txt,再把后缀名改成.bat。
image
右键,编辑,或者直接拖到Editplus里面。
代码语言:javascript复制javac -classpath .;D:java18cstmgr;D: -d D:java18cstmgrclasses *.java
javac -classpath .;D:java18cstmgr;D: -d D:java18cstmgrclasses entity*.java
javac -classpath .;D:java18cstmgr;D: -d D:java18cstmgrclasses D:tool*.java
pause
-classpath 是手动指定classpath,它会覆盖掉CLASSPATH环境变量,以这个为准。
-d 是手动指定编译输出目录,JVM会根据package自己给你生成文件夹的
pause是cmd的命令,暂停的意思,不写的话就一闪而过了,你就不知道有没有报错。
双击这个文件。
image
去classes目录看看,得到:
image
image
image
步骤 3 验证一下,把环境变量的CLASSPATH删掉
image
删除这个CLASSPATH,以后我们就用自己的classpath,以项目为准,每一个项目都要有自己的classpath!
现在去classes文件夹,运行主文件:
image
成功了。
步骤 4 工程化
现在我们是通过编译脚本的方式,把所有需要编译的地方都写进去了,然后把所有的class文件都放在一起,这个就叫做工程化。源码归源码,执行文件归执行文件,一切都很清晰。
如果你用过eclipse,那么一定知道eclipse是有自动编译的功能的,各种classpath都自动帮你配好,真的是不要太爽。我希望通过这个课程,大家可以知道,原来那些IDE工具在背后帮我们做了这么多事情。
步骤 5 源码下载
如果还是做不出来,右上角下载源码即可。不过上一节的TuziLinkedList和CustNode,我还是希望大家自己理解了以后,自己默写一遍。这是数据结构的知识了,TuziLinkedList其实就是山寨版的LinkedList(java.util包里面的)。
转载自:http://java18.cn/