日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

了解 Java 類路徑

 iversion 2007-07-17
Java 類路徑
Java 類路徑告訴 java 解釋器和 javac 編譯器去哪里找它們要執(zhí)行或?qū)氲念?。類(您可能注意到的那?*.class 文件)可以存儲在目錄或 jar 文件中,或者存儲在兩者的組合中,但是只有在它們位于類路徑中的某個地方時,Java 編譯器或解釋器才可以找到它們。
在 Windows 中,類路徑中的多個項是用分號分隔( ;)的,而在 UNIX 中,這些項是用冒號分隔( :)的。在以下實例中,類路徑中包括兩個 Cloudscape jar 文件( cs.jar 和 cstools.jar ),以及一個存儲 *.class 文件的目錄位置( myDevDir ):

Windows 類路徑:
c:\Cloudscape_10.0\lib\cs.jar;c:\Cloudscape_10.0\lib\cstools.jar;c:\myPath\myDevDir
UNIX 類路徑:
/Cloudscape_10.0/lib/cs.jar:/Cloudscape_10.0/lib/cstools.jar:/myPath/myDevDir

本文中的其余實例使用的都是 Windows 語法,因此,如果您是在 UNIX 機器上,那么需要對語法進行相應的調(diào)整。

設置 Java 類路徑
有三種方式設置 Java 類路徑:
1.永久地,通過在系統(tǒng)級上設置 CLASSPATH 環(huán)境變量來實現(xiàn)。
使用控制面板的系統(tǒng)設置來添加名為 CLASSPATH 的新變量,從而永久性地設置 Windows 環(huán)境變量。
UNIX 用戶可以通過向 .profile 或 .cshrc 文件添加 CLASSPATH 變量來永久設置類路徑。

2.臨時地,通過在命令窗口或 shell 中設置 CLASSPATH 環(huán)境變量來實現(xiàn)。
在 Windows 命令窗口中臨時設置 CLASSPATH
C:\>set CLASSPATH=%CLOUDSCAPE_INSTALL%\lib\cs.jar;.;
如果是臨時設置類路徑,那么每次打開新的命令窗口時,都需要再次設置它。
3.在運行時進行,每次啟動 Java 應用程序和 JVM,都要指定類路徑。
運行時使用 -cp 選項來指定類路徑,這里的運行時是指啟動應用程序和 JVM 時。
例如
C:\Cloudscape_10.0\demo\programs\simple>java -cp %CLOUDSCAPE_INSTALL%\lib\cs.jar; SimpleApp
檢測問題
常見類路徑錯誤
主要有兩種類型的類路徑問題。第一類問題發(fā)生在沒有從類路徑中找到您試圖使用的 Java 類時,此時,它拋出一個 java.lang.ClassNotFoundException 異常。第二類問題發(fā)生在找到了您正試圖使用的類,但沒有找到它所導入的某個類時。本例中,在編譯時顯示了所導入的類,但在運行時,所導入的類沒有包含在類路徑中。這將拋出一個 java.lang.NoClassDefFoundError 異常。還有另一種考慮 NoClassDefFoundError 的方式,也就是說,在編譯當前執(zhí)行的類時,所搜索的類定義是存在的,但在運行時卻再也無法找到該定義了

如何可以解決這類問題呢?首先,檢查類路徑,驗證庫是否真正位于您認為的地方。例如,在 Windows 中使用該命令來輸出類路徑:
C:\my_dir>echo %CLASSPATH%
c:\Cloudscape_10.0\lib\cs.jar;c:\Cloudscape_10.0\lib\cstools.jar
然后,在 CLASSPATH 變量中查看每個路徑,并用 dir (Windows)或 ls (UNIX)命令查看這些文件是否存在。
如果不知道類位于哪個 jar 文件中,可以用以下命令來檢查:
jar -tvf cs.jar | more
該命令產(chǎn)生許多輸出。如果正使用 Linux 或 Unix,或者在 Windows 中使用 UNIX 使用程序,那么您可以用 grep 篩選您所查找的類。例如,以下命令將查找 com.ihost.cs.tools.sysinfo 類:
C:\Cloudscape_10.0\lib>jar -tvf cs.jar | grep -i com.ihost.cs.tools.sysinfo

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多