溫馨提示×

溫馨提示×

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

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

java的Classpath知識點(diǎn)有哪些

發(fā)布時間:2021-12-30 17:26:20 來源:億速云 閱讀:114 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“java的Classpath知識點(diǎn)有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“java的Classpath知識點(diǎn)有哪些”吧!

java的優(yōu)點(diǎn)就是他是一個自動支持網(wǎng)絡(luò)功能的東東,舉一個簡單例子來將

比方有一個Application他用到了java.lang.String(事實(shí)上要是有一個程序沒用到它,太難以想象了 :)), 和com.shinechina.MyClass(我自己寫的兩個版本) 這兩個類
版本1:
package com.shinechina;
public class MyClass
{
public static void main(String args[])
{
String str = "版本1: hello, welcome to chinaasp java 技術(shù)";
System.out.println(str);
}
}
版本2:
package com.shinechina;
public class MyClass
{
public static void main(String args[])
{
String str = "版本2:hello, welcome to chinaasp java 技術(shù)";
System.out.println(str);
}
}

現(xiàn)在我要運(yùn)行它了

java com.shinechina.MyClass

現(xiàn)在問題來了

也許com.shinechina.Myclass在c:, d:, 甚至在阿龍老兄,javabeans老兄,的機(jī)器上也有這么個東東,里面是些很cool的
java怎么知道到何處找呢, 他到底該怎么辦
假定版本一在 c:mylibcomshinechinaMyClass.java
假定版本二在 d:mylibcomshinechinaMyClass.java

注意:不要忘了編譯成class文件吆, java文件是不能執(zhí)行的
cd c:mylibcomshinechina
javac *.java
cd d:mylibcomshinechina
javac *.java


有了:
他先到機(jī)器的CLASSPATH去找
假設(shè)是windows系統(tǒng) c:mylib;d:mylib;d:jdk1.2.2lib t.jar;
或unix系統(tǒng) /home/local/:/usr/local/:/usr/local/jdk1.2.2/lib/rt.jar
好, c:mylib下他找到了com目錄,有戲, 又往下找又有shinechina目錄,目錄下找到了MyClass.class, Ok 就是他了, 至于d:mylib我的版本2的MyClass他就不理會了, 至于String是在rt.jar壓縮包中待會再講他

執(zhí)行的結(jié)果就是

版本1: hello, welcome to chinaasp java 技術(shù)

反過來d盤的路徑在c:之前,執(zhí)行的結(jié)果就是
版本2: hello, welcome to chinaasp java 技術(shù)

依次類推, 只有在類路徑上第一個找到的才會執(zhí)行,你要控制他執(zhí)行那一個須如此:

java -classpath d:mylib;%classpath% com.shinechina.MyClass

執(zhí)行的結(jié)果就是
版本2: hello, welcome to chinaasp java 技術(shù)

開發(fā)環(huán)境中的執(zhí)行就是這樣, 總有一個地方指定類路徑的

注意,開發(fā)環(huán)境往往不去讀系統(tǒng)路徑, 這也就是在外面運(yùn)行的東東挺溜的進(jìn)了開發(fā)環(huán)境就死菜的原因嘍。

比如說jbuilder, jdevoloper從菜單project->project properties...->paths標(biāo)簽->Add...->添加定義好的library點(diǎn)ok或者new->輸入name和classpath->ok
這個東東就被添加到了classpath中(運(yùn)行時可在message view中看到)

再比如說visualAge for java , 點(diǎn)中你要運(yùn)行的類->鼠標(biāo)右擊選中特性->類路徑標(biāo)簽1。->編輯->全選,好,開發(fā)環(huán)境中的所有類都能找到了
2。->立即計(jì)算(只選中你需要的類, 如果有用class.forName之類通過程序顯式裝載的類的話,需要自己從編輯中手工家入了, 開發(fā)環(huán)境每能力幫你算出來了,如果內(nèi)存沒有問題的話,直接編輯->全選更方便吆)
3。如果你的類并不想引入開發(fā)環(huán)境的話,點(diǎn)中添加額外路徑,編輯(下面的一個), 我不喜歡這樣, 就不詳細(xì)介紹了

高手的話,直接用jdk, 那么只好麻煩你要么加到系統(tǒng)classpath中(unix下為$CLASSPATH), 要么編譯運(yùn)行時顯式指明classpath

下面介紹一個初學(xué)者最容易犯的錯誤

還以上節(jié)介紹的例子
假定版本一在 c:mylibcomshinechinaMyClass.java
編譯后c:mylibcomshinechinaMyClass.class

怎么指定classpath呢
常見毛病
1。c:mylibcomshinechina
2。c:mylibcom

正確
1。c:mylib
2。c:mylib

到此,相信大家對“java的Classpath知識點(diǎn)有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

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

AI