為了跑一個別人寫的程式,安裝JOGL搞了一下午,Orz...
結果是因為我笨,至官方網站下載了Current nightly build的版本,
不管是怎麼改Path, Classpath,
.dll(JNI; java native interface) 及 .jar (Library),不管是放jre還是放jdk\jre,
就是無法import net.java.games.jogl.* 。
就快要放棄時,才發現有人跟我一樣呆,
下載了jogl 2006 release的版本(也就是Current nightly build的版本)一直run不成,
後來有人提醒他改下載2003 release的版本才OK!
原因是2006 release的jogl.jar已經重新命名所有的package,
(難怪我第一次打開jogl.jar看它的檔案結構時,就覺得很納悶,怎麼跟網頁上的安裝教學不同,
還多出2個.dll及gluegen-rt.jar)
所以舊的程式若有需要使用jogl.jar,就得import 2003 release的版本。
總之,若需要使用jogl來開發程式,可以下載2006 release的版本,
因為裡面還有gluegen-rt.jar,似乎是用來將C程式轉換成JNI code,
以便JOGL可以跟上OpenGL的更新速度。(畢竟OpenGL是C開發的)
若是要跑一些網路上別人過去寫好的程式,
而該程式需要import jogl library,那麼最好下載2003 release的版本,
也就是官方首頁的Archived release and pre-release builds ,
(簡單的區分方法:
2003 版 是 import net.java.games.jogl.*
2006 版 是 import com.sun.opengl.* )
安裝方式:2003版與2006版無異,只是2006版多了兩個.dll及一個.jar。
以下以2003版為例,
將下載的jogl-1.1.0-yourOS.zip 解壓縮後,
裡面有jogl.jar及jogl.dll及jogl_cg.dll。
將jogl.dll及jogl_cg.dll 移至C:\[jdk_location]\jre\bin\ 。
然後將jogl.jar移至 C:\[jdk_location]\jre\lib\ext\ 。
最後將C:\[jdk_location]\bin及C:\[jdk_location]\jre\bin 加入系統的path最前面。
(前者是為了使用Private JRE 及javac, jar等tools,
後者是為了使jogl.jar找到jogl.dll)
p.s. 可以run下面這網站中的HelloWorld.java,試試jogl是否安裝成功。
http://cotocg.com/?498/action_viewspace_itemid_252.html
No comments:
Post a Comment