批处理命令就是将Doc下的命令写入一个批处理文件(.bat)中在逻辑上看着是多条命令一次执行,也就是批处理。之所以我们要编写一个自动编译Java文件的批处理文件同在命令行中执行一样,需要以下几个步骤:
一、设置环境变量:同命令行设置环境变量一样,这个环境变量的设置是"一次性"的,即当前Doc命令窗体内有效。
1、由于要用到javac应用程序来进行编译,所以需要为path环境变量添加jdk目录下的bin文件夹。即set path=%Java_Home\bin;%path%
2、同时还要配置在编译过程中要使用的软件包的路径,所以哟啊设置classpath环境变量,即要设置Java软件包和项目中引入的软件包的本地路径
设置Java软件包:set classpath=%Java_Home\lib\dt.jar;%Java_Home\lib\tools.jar;classpath
设置引入软件包:在classpath值中再加上相应的软件包本地路径即可。如添加Servlet和fileupload两个软件包:set classpath=D:\Tomcat 5.5\common\lib\servlet-api.jar;D:\Tomcat 5.5\webapps\myapp\WEB-INF\lib\commons-fileupload-1.0.jar;%classpath%
二、调用javac应用程序:如没设置path,则需要引入javac命令的全路径。在这已经设置path,所以可以直接用javac命令。
三、指定class文件输出目录(默认输出到当前目录,即.bat文件):通过javac命令的参数d指定class文件输出目录。如:javac -d ..\WEB-INF\classes %1 ,即将class文件放入当前目录下的WEB-INF\classes 下。这样,所有的命令都执行完毕,调用pause命令完成批处理。
四、复制批处理文件的快捷方式,利用批处理文件的快捷方式来进行编译,可以避免相对路径的对编译过程中的影响。
五、此时,就可以直接将java文件拖至该快捷方式上进行编译处理了。
下面附上该批处理文件源码:
set path=C:\Program Files\Java\jdk1.6.0_13\bin;%path%
set classpath=C:\Program Files\Java\jdk1.6.0_13\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_13\lib\tools.jar
set classpath=D:\Tomcat 5.5\common\lib\servlet-api.jar;D:\Tomcat 5.5\webapps\myapp\WEB-INF\lib\commons-fileupload-1.0.jar;%classpath%
javac -d ..\WEB-INF\classes %1
pause