jikes是一個比javac速度快的Java編譯器,它是IBM的一個開放源碼項目
在一些Application Server運行時,我們為了提高運行的速度,會選擇對JSp文件進行預編譯,但是如果項目比較大的話,對於所有的JSP編譯會花費很長的時間,所以這個時候需要選擇一個快速的Java編譯器,據說Symantec的sj速度最快,但是目前好像沒有繼續開發,不支持jdk1.4以上了,所以我們選擇稍次之的jides編譯器,不過jikes沒有提供對win32平台的encoding屬性的支持,在我們使用的時候一直被這問題所困擾,這個可以通過運行jikes help來查看。後來通過參考Sourceforge中有關文章,才得以完成,原文地址http://jikes.sourceforge.Net/faq/dev-win32.sHtml。
這裡想說說過程中碰到的一些問題
操作步驟
1。首先下載jikes的原碼文件,目前最新好像是1。22,不過利用最新的編譯出來的結果還是不能用,還沒有發現問題所在,後來使用1.18版本編譯結果OK,下載地址http://sourceforge.Net/project/showfiles.PHP?group_id=128803,下載源碼擴展名為tar.bz2的文件,保存路徑C:\temp
2。下載編譯環境,使用MinGw+MSyS模擬編譯環境,下載最新的MinGw和MSYS包,下載地址http://sourceforge.Net/project/showfiles.PHP?group_id=2435,下載完成首先安裝MinGw,然後安裝MSYS,在安裝的過程中會彈出終端窗口要求指定gcc.exe(在MingGW的bin目錄下)的路徑,如果你的安裝路徑為C:\MinGWStudio\MinGW\bin,按照屏幕輸入為unix格式C:/MinGWStudio/MinGW,完成MSYS環境和編譯工具gcc的綁定。完成後就可以直接運行桌面上的msys的快捷方式進入模擬平台。
3。要編譯jides首先要編譯 libiconv ,下載源碼libiconv-1.8.tar.gz,假如保存路徑為c:\temp,
則按照如下的操作步驟在MSYS環境中對libiconv 進行編譯
$ tar xvzf /c/temp/libiconv-1.8.tar.gz$ mkdir libiconv-build$ cd libiconv-build$ ../libiconv-1.8/configure --enable-extra-encodings \--enable-static --disable-shared$ make$ cd ..
4。編譯jikes源碼,假定剛才下在的源碼在c:\temp下,使用下面命令進行編譯
$ tar xvjf /c/temp/jikes-1.18.tar.bz2$ mkdir jikes-build$ cd jikes-build$ ../jikes-1.18/configure \CPPFLAGS=-I/c/temp/libiconv-build/include \LDFLAGS=-L/c/temp/libiconv-build/lib/.libs$ make
這裡對源文中的CPPFLAGS,LDFLAGS屬性進行了修改,確保編譯路徑的正確。執行玩make後,你就有了一個自己的包括encoding屬性的jikes.exe,可以從jikes-build/src底下獲取,祝你好運。