茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1671184 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_60D_00289.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2008/3/18 6:37:39
JRE/lib/ext 的用途是讓你放 third-party 的 library,
JRE 啟動時會把自動載入裡頭的 jar(應該說 classloader 需要 resolve class 時會到這個目錄下來找)。

主要的問題是,
安裝 JDK 時一般人可能會裝兩個 JRE,
一在 JDK 安裝目錄下的 JRE 目錄,
一在(預設) Program files 目錄下的 Java 目錄。
javac.exe 使用的是 JDK 所附的 private JRE(JDK/JRE),
而執行 Java 程式則要看你的 path 定。

JDK\bin\java.exe, JDK\jre\bin\java.exe 使用的是 private JRE,
program files\java\jre1.x.x\bin\java.exe, WinNT(Windows)\system32\java.exe 使用的是 public JRE。javaw.exe 同上。

比較保險的做法是把 third-party library jar file 在 private JRE/public JRE 各放一份,
這樣可確保編譯時可以 resolve third-party classes,或是設定 path 使得優先使用 private JRE(或乾脆就移除掉 public JRE)。

Eclipse 比較特別,
你可以只把 third-party 放在 public JRE 就好,
不需要放在 private JRE 也可以在編譯時讓編譯器去參考到所需要的 class。

javax 是 java "extention", 個人認為比較不像 "application",
既然是 Java 的一部份, 建議直接放 jre/lib/ext 下也無可厚非,
但版本的問題可能會是 nightmare.
個人認為還是用 "application specific" classpath 好.

Application 把 jar 直接往 jre/lib/ext 放, 不是不可以, 而是『不應該』.
如果在 jre/lib/ext 下有一個 a.jar, 在classpath中有一個 a.jar,
在 WEB-INF/lib 下也有一個 a.jar,哪一個會先被用呢?
uninstall 亦是個問題.

對新手來說, 建議把所有的 jar 往 jre/lib/ext 放可能方便些,
but may not be a good practice.

這裡有兩郭可以參考的文件:
http://cvs.apache.org/viewcvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/
http://www.javaworld.com/javaworld/javatips/jw-javatip105.html

對於一般j2ee application or web application 來說,
j2ee application server or servlet container 都有提供標準的 java extention.
J2ee application server installation, normally, should not pollute your jre directory with extra extention jars.

但如果你的 applicaion/web-app 需要一些其他的 jar,
這些 jar file '最好' 放在 .war/.ear 中.
既便是你的兩個web-app擁有及使用不同版本的girl4j.jar,
container應該要很安全的把她們區隔開來
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|