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 Web 開發內幕——核心基礎》,孫孝祥編著。
 
以下文章你可能也會感興趣: 

JavaMail:集收發郵件、下載附件功能的簡單Web應用(修改)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章