程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 關於java 的 Classpath全解<java入門之一>

關於java 的 Classpath全解<java入門之一>

編輯:關於JAVA

關於Java 的 Classpath全解<之一>

作者 丑丑牛

聲明: 歡迎轉載, 如果能不把俺的little大名刪掉最好

Java 的新入門者對classpath往往比較困惑,為何在開發環境中能運行的東東出去就不好,或在外面運行的東東挺溜的進了開發環境就死菜,煩死了!

看完俺這篇文章包您萬事無憂(誇張點吧) :)呵呵

Java的優點就是他是一個自動支持網絡功能的東東,舉一個簡單例子來將

比方有一個Application他用到了Java.lang.String(事實上要是有一個程序沒用到它,太難以想象了 :)), 和com.shinechina.MyClass(我自己寫的兩個版本) 這兩個類

版本1:

package com.shinechina;

public class MyClass

{

public static void main(String args[])

{

String str = "版本1: hello, welcome to chinaASP Java 技術";

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 技術";

System.out.println(str);

}

}

現在我要運行它了

Java com.shinechina.MyClass

現在問題來了

也許com.shinechina.Myclass在c:\, d:\, 甚至在阿龍老兄,Javabeans老兄,的機器上也有這麼個東東,裡面是些很cool的

Java怎麼知道到何處找呢, 他到底該怎麼辦

假定版本一在 c:\mylib\com\shinechina\MyClass.Java

假定版本二在 d:\mylib\com\shinechina\MyClass.Java

注意:不要忘了編譯成class文件吆, Java文件是不能執行的

cd c:\mylib\com\shinechina

javac *.Java

cd d:\mylib\com\shinechina

javac *.Java

有了:

他先到機器的CLASSPATH去找

假設是Windows系統 c:\mylib;d:\mylib;d:\jdk1.2.2\lib\rt.jar;

或unix系統 /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壓縮包中待會再講他

執行的結果就是

版本1: hello, welcome to chinaASP Java 技術

反過來d盤的路徑在c:之前,執行的結果就是

版本2: hello, welcome to chinaASP Java 技術

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

Java -classpath d:\mylib;%classpath% com.shinechina.MyClass

執行的結果就是

版本2: hello, welcome to chinaASP Java 技術

開發環境中的執行就是這樣, 總有一個地方指定類路徑的

<未完待續>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved