Java 技巧:编写批处理文件自动编译.java文件

最近经常要使用 Tomcat服务器写一些简单的 Java Web 代码,我的机器内存才1G,运行 MyEclipse 时太卡太慢,所以多用纯文本环境(Editplus) 加命令行控制台。但一个部署到 Tomcat 中的完整 Java Web 应用对各种文件(夹)是有严格要求的,例如对.java源文件编译后的 .class 文件一定要放在对应的 classes 文件夹中。

 
麻烦的问题?
例如,每次都在命令行控制符下用 set classpath=… 设置环境变量,再用 javac –d [编译后.class文件的存放路径] 命令编译并将生成的 .class 文件放到指定的目录中。这是很繁琐、很机械的一个操作。
 
怎么办?
此时可以编写一个 .bat 批处理文件来获得解脱。新建一个 .txt 文件并敲入下面的代码:
  1. set CLASSPATH=F:\study\mylib\myjar.jar;%CLASSPATH%; 
  2.  
  3. javac -d F:\mywebapp\WEB-INF\classes %1 
  4.  
  5. pause 
 
什么意思?

相信大家都对上面3行的作用都很容易理解,第一行先是设置 CLASSPATH 环境变量,而用分号 ; 隔开后面的 %CLASSPATH% 是已经设置好的系统变量,重要的是前面部分特定于某个应用需要用到的 CLASSPATH,其实就是一些 .jar 包的引入。第二行使用 javac –d命令附加将要存放编译生成的 .class 文件的路径,在 Java web 应用中常见的就是mywebapp\WEB-INF\classes 目录了。第二行末尾的一个 %1 的用意稍后再讲。

 
怎么使用?

将该 .txt 文件另存为 JavaCompiler.bat 批处理文件,以后你只要将想编译的 .java 源文件拖动到该 .bat 文件的图标上面就会帮你自动编译,并将生成的 .class 文件按照上面第二行 –d 参数保存到指定的目录下。

 

上面第二行中末尾的 %1 其实就是一个参数,即被你拖动过来的文件名,而 pause 则用于在运行完该 .bat 文件之后让控制台暂停,以便我们查看编译时产生的信息。

 
使用效果图:

Java 技巧:编写批处理文件自动编译.java文件_第1张图片

 
再来一张编译出错的截图:

Java 技巧:编写批处理文件自动编译.java文件_第2张图片

 
本文内容参考自:《Java Web 开发内幕——核心基础》,孙孝祥编著。

你可能感兴趣的:(java)