學習J2EE時經常會編譯運行一些簡單的java代碼。若使用Eclipse編譯一些簡單的java代碼文件時,Eclipse老是抽筋(我用的是J2EE版,打開Eclipse佔了接近300M的內存),運行要等好久,很不爽!所以通常在Vim下編輯,然後在命令行下編譯,最後部署到tomcat上。
但是每次在命令行下編譯都很煩,每次都要進入到java文件所在的目錄。
解決方法:
此時可以編寫一個 .bat 批處理文件來獲得解脫。新建一個 .txt 文件並敲入下面的代碼:
set CLASSPATH=要引用jar包的文件名(包括完整路徑);%CLASSPATH%;
javac [-d要存放編譯生成的 .class 文件的路徑] %1
pause
代碼解釋:
l 第一行先是設置 CLASSPATH 環境變量,而用分號 ; 隔開後面的 %CLASSPATH% 是已經設置好的系統變量,重要的是前面部分特定於某個應用需要用到的 CLASSPATH,其實就是一些 .jar 包的引入。
l 第二行使用 javac –d命令附加將要存放編譯生成的 .class 文件的路徑,在 Java web 應用中常見的就是mywebapp\WEB-INF\classes 目錄了。第二行末尾的一個 %1 的用意稍後再講。
l 第三行pause表示暫停,使窗口停頓(方便觀察結果)。如果不需要使窗口停頓,可去掉這一行。
使用方法
將該 .txt 文件另存爲 JavaCompiler.bat批處理文件,以後你只要將想編譯的 .java 源文件拖動到該 .bat文件的圖標上面就會幫你自動編譯,並將生成的 .class 文件按照上面第二行 –d 參數保存到指定的目錄下。
上面第二行中末尾的 %1 其實就是一個參數,即被你拖動過來的文件名。
使用舉例:
通常很少會引用其他jar包(因爲我將那些需頻繁引用到的jar包添加在CLASSPATH中了),所以上面代碼第一行就不用寫了。
另外每次放class文件的目錄都不同,所以第二行可寫成:javac %1
最後寫成的代碼爲:
javac %1
只需一行代碼,不用再打開dos窗口,不用cd命令進入到java文件所在的目錄,將包含javac%1的JavaCompiler.bat文件放在桌面,打開java文件所在的目錄,將java文件往JavaCompiler.bat文件的圖標上一扔,在java文件所在的目錄下可找到編譯生成的class文件,方便哉!
參考文章:
【1】 http://haolloyin.blog.51cto.com/1177454/440353