這篇文章主要介紹“Java的Classpath工具怎么使用”,在日常操作中,相信很多人在Java的Classpath工具怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java的Classpath工具怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)昌邑免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
二、可能出現(xiàn)的問題
不管他們是否愿意承認(rèn),初學(xué)者和富有經(jīng)驗(yàn)的Java開發(fā)者都一樣,他們都曾經(jīng)在某些時候(通常是在那些最糟糕的情形下)被冗長、復(fù)雜的classpath欺騙。應(yīng)用程序所依賴的第三方類和用戶定義類的數(shù)量逐漸增長,classpath也逐漸成了一個堆積所有可能的目錄和檔案文件名的地方。此時,類裝載器首先裝載的究竟是哪一個類也就不再顯而易見。如果classpath中包含重復(fù)的類入口,這個問題尤其突出。前面已經(jīng)提到,類裝載器總是裝載第一個它在classpath中找到的具有合適名字的類,從實(shí)際效果看,它“隱藏”了其他具有合適名字但在classpath中優(yōu)先級較低的類。
如果不小心,你很容易掉進(jìn)這個classpath的陷阱。當(dāng)你結(jié)束了一天漫長的工作,最后為了讓應(yīng)用程序使用最好、最新的類,你把一個目錄加入到了classpath,但與此同時,你卻忘記了:在classpath的另一個具有更高優(yōu)先級的目錄下,存放著該類的另一個版本!
三、一個簡單的classpath工具
優(yōu)先級問題是扁平路徑聲明方法與生俱來固有的問題,但它不是只有Java的classpath才有的問題。要解決這個問題,你只需站到富有傳奇色彩的軟件巨構(gòu)的肩膀上:Unix操作系統(tǒng)有一個which命令,在命令參數(shù)中指定一個名字,which就會顯示出當(dāng)這個名字作為命令執(zhí)行時執(zhí)行文件的路徑名。實(shí)際上,which命令是分析PATH變量,然后找出命令第一次出現(xiàn)的位置。對于Java的類路徑管理來說,這應(yīng)該也是一個好工具。在它的啟發(fā)之下,我著手設(shè)計了一個Java工具JWhich。這個工具要求指定一個Java類的名字,然后根據(jù)classpath的指引,找出類裝載器即將裝載的類所在位置的絕對路徑。
下面是一個JWhich的使用實(shí)例。它顯示出當(dāng)Java類裝載器裝載com.clarkware.ejb.ShoppingCartBean類時,該類第一次出現(xiàn)位置的絕對路徑名,查找結(jié)果顯示該類在某個目錄下:
> java JWhich com.clarkware.ejb.ShoppingCartBean
Class
′com.clarkware.ejb.ShoppingCartBean′ found in
′/home/mclark/classes/com/clarkware/ejb/ShoppingCartBean.class′
下面是第二個JWhich的使用實(shí)例。它顯示出當(dāng)Java類裝載器裝載javax.servlet.http.HttpServlet類時,該類第一次出現(xiàn)位置的絕對路徑名,查找結(jié)果顯示該類在某個檔案文件中:
> java JWhich javax.servlet.http.HttpServlet
Class
′javax.servlet.http.HttpServlet′ found in
′file:/home/mclark/lib/servlet.jar!/javax/servlet/http/HttpServlet.class′
到此,關(guān)于“Java的Classpath工具怎么使用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!