2009-12-10 107 views
1

我已經創建了一個包含一些包一個.jar和我試圖把它變成java擴展機制

c:\jdk\jre\lib\ext 

但Java commnand沒有找到包

如果我,相反,把.jar變成

c:\jre\lib\ext 

所有的作品!

爲什麼? SUN的教程說這兩個地方都很好!

我看到的擴展機制僅適用於虛擬機而不是在編譯過程,從而 編譯,如果我想用我必須編譯外部包與-cp標誌

是正確的嗎?

回答

1

JRE只使用自己的lib/ext目錄。因此,您需要將這些罐放入您希望庫使用的每個JRE的lib/ext目錄中。使用lib/ext通常是一個壞主意。

我相信要讓它與您的編譯器一起工作,您需要將罐放置在c:\jdk\lib\ext而不是c:\jdk\jre\lib\ext

+0

請看http://java.sun.com/docs/books/tutorial/ext/basics/install.html dir是jdk \ jre \ lib \ ext,而不是像你說的那樣c:\ jdk \ LIB \分機 – xdevel2000 2009-12-10 12:29:08

1

如果我要從字面上理解你的兩個位置(即沒有錯字);更可能的情況是您的JAVA_HOME未指向JDK內的JRE(c:\ jdk \ jre);而是在JDK外部的某個JRE(c:\ jre)。

正如上面發表的那樣,您實際上需要將庫存放到您想要實際使用的每個JRE中。 (請嘗試安裝Java3D並觀察發生了什麼)。