給jikes指定encoding屬性的編譯過程
2024-07-21 02:14:06
供稿:網友
 
 
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底下獲取,祝你好運。