溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

聊聊Java的CLASSPATH設(shè)置

發(fā)布時間:2020-07-14 20:24:57 來源:網(wǎng)絡(luò) 閱讀:3159 作者:mybabe0312 欄目:編程語言

一:CLASSPATH常規(guī)設(shè)置

類路徑(CLASSPATH)是Java運行時環(huán)境搜索類和其他資源文件的路徑,在使用jdk命令行工具(java,javac,javadoc等)時,可以使用"-classpath"選項或者“CLASSPATH”環(huán)境變量來設(shè)置其路徑。當然,推薦使用“-classpath”選項來設(shè)置,因為你可以為每個應用程序單獨設(shè)置它,而不影響其他應用程序,也不需要其他應用程序修改其值。

C:> java -classpath classpath2;classpath3...
-or-
C:> set CLASSPATH=classpath2;classpath3...

注意:使用set命令時,必須省略等號(=)周圍的空格;指定多個類路徑條目的順序很重要,Java解釋器將按照類路徑變量中的順序查找目錄中的類。

每個類路徑(classpath)應以文件名或目錄結(jié)尾,具體取決于:
1)對于包含.class文件的.jar或.zip文件,類路徑以.zip或.jar文件的名稱結(jié)尾。
2)對于未命名包中的“.class”文件,類路徑以包含.class文件的目錄結(jié)尾。
3)對于命名包中的“.class”文件,類路徑以包含“根”包(完整包名稱中的第一個包)的目錄結(jié)尾。

注意:默認類路徑是當前目錄。設(shè)置CLASSPATH變量或使用-classpath命令行選項將覆蓋該默認值,因此如果要在搜索路徑中包含當前目錄,則必須在新設(shè)置中包含“.”
注意:既不是目錄也不是存檔文件(.zip或.jar文件)也不是*的類路徑條目將被忽略。

如果CLASSPATH環(huán)境變量被設(shè)置為不正確的值,或者如果啟動文件或腳本設(shè)置的路徑不正確,則可以使用以下方法取消設(shè)置ClassPath:

C:> set CLASSPATH=

注意:此命令僅為當前命令提示窗口取消設(shè)置類路徑

二:CLASSPATH的通配符

類路徑中可以包含通配符-星號(*),該通配符被認為等同于指定目錄中擴展名為".jar"或".JAR"的所有文件的列表。

例如,類路徑條目“foo/”指定名為foo的目錄中的所有jar文件。類路徑條目只包含“”擴展到當前目錄中所有JAR文件的列表。

包含星號()的類路徑條目不能匹配類文件,要在單個目錄foo中同時匹配類和jar文件,請使用 foo;foo/ 或 foo/*;foo

注意:子目錄不是遞歸搜索的。例如,foo/*只在foo中查找jar文件,而不在foo/bar、foo/baz等中查找。通過此種方式,其jar文件的順序不定,當然,構(gòu)造良好的應用程序也不應依賴于任何特定的順序。如果真需要特定的順序,則可以在類路徑中顯示的指定JAR文件。

三:拓展

包規(guī)范機制的一個有趣的結(jié)果是,屬于同一包的文件實際上可能存在于不同的目錄中。每個類的包名稱都相同,但每個文件的路徑可以從類路徑中的不同目錄開始。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI