类越来越多了,是时候搞一波编译了。我们不能总是依赖CLASSPATH环境变量,那个参数主要是放一些公共的类路径,实际开发的话,我们是跟着项目走的。
每次都要一个个去编译文件,真鸡儿麻烦,要是有个方案直接一起编译所有的java文件,然后统一放到一个地方就好了。
duang,当然有啦,这个就是编译脚本,来到D:\java18\cstmgr目录,创建一个classes文件夹。顾名思义,这个文件夹就是用来放置我们所有的class文件的。
image
创建一个package.txt,再把后缀名改成.bat。
image
右键,编辑,或者直接拖到Editplus里面。
javac -classpath .;D:\java18\cstmgr;D:\ -d D:\java18\cstmgr\classes *.java
javac -classpath .;D:\java18\cstmgr;D:\ -d D:\java18\cstmgr\classes entity\*.java
javac -classpath .;D:\java18\cstmgr;D:\ -d D:\java18\cstmgr\classes D:\tool\*.java
pause
-classpath 是手动指定classpath,它会覆盖掉CLASSPATH环境变量,以这个为准。
-d 是手动指定编译输出目录,JVM会根据package自己给你生成文件夹的
pause是cmd的命令,暂停的意思,不写的话就一闪而过了,你就不知道有没有报错。
双击这个文件。
image
去classes目录看看,得到:
image
image
image
image
删除这个CLASSPATH,以后我们就用自己的classpath,以项目为准,每一个项目都要有自己的classpath!
现在去classes文件夹,运行主文件:
image
成功了。
现在我们是通过编译脚本的方式,把所有需要编译的地方都写进去了,然后把所有的class文件都放在一起,这个就叫做工程化。源码归源码,执行文件归执行文件,一切都很清晰。
如果你用过eclipse,那么一定知道eclipse是有自动编译的功能的,各种classpath都自动帮你配好,真的是不要太爽。我希望通过这个课程,大家可以知道,原来那些IDE工具在背后帮我们做了这么多事情。
如果还是做不出来,右上角下载源码即可。不过上一节的TuziLinkedList和CustNode,我还是希望大家自己理解了以后,自己默写一遍。这是数据结构的知识了,TuziLinkedList其实就是山寨版的LinkedList(java.util包里面的)。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有