• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            天之道

            享受編程的樂(lè)趣。
            posts - 118, comments - 7, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理


            首先安裝jdk于C,安裝后目錄為:C:\Program Files\Java\jdk1.6.0,然后右鍵我的電腦,選擇高級(jí)--->環(huán)境變量,配置如下:

            JAVA_HOME=C:\Program Files\Java\jdk1.6.0;

            path=%JAVA_HOME%\bin;

            classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tool.jar;

            點(diǎn)擊確定完成。

             

            HelloWorld.java經(jīng)典測(cè)試代碼:

            public class HelloWorld{

            public static void main(String args[]){

            System.out.println("hello world !")

            }

            }

            命令行輸入:javac HelloWorld.java

            生成HelloWorld.class

            命令行輸入:java HelloWorld

            屏幕上打印"hello world !"

             

            很多人在初學(xué)Java的時(shí)候經(jīng)常會(huì)被書(shū)中介紹的一堆環(huán)境變量的設(shè)置搞得頭昏腦脹,很多書(shū)中都會(huì)在初裝JDK的時(shí)候讓大家設(shè)置JAVA_HOME環(huán)境變量,在開(kāi)發(fā)程序的時(shí)候設(shè)置CLASSPATH環(huán)境變量,而很多人并不理解這兩個(gè)環(huán)境變量的作用,我們來(lái)分別進(jìn)行詳細(xì)的闡述。

            首先是JAVA_HOME環(huán)境變量,我們先來(lái)掌握這個(gè)環(huán)境變量的設(shè)置內(nèi)容,JAVA_HOME這個(gè)環(huán)境變量的設(shè)置內(nèi)容是JDK的安裝目錄,比如說(shuō)您的JDK安裝在d:\jdk1.6.0這個(gè)目錄下,請(qǐng)您查看一下這個(gè)目錄下是不是有一個(gè)子目錄bin,bin目錄中是不是有java.exe這個(gè)文件,如果是,那么您的JAVA_HOME環(huán)境變量的內(nèi)容應(yīng)該為d:\jdk1.6.0。那么我們?cè)O(shè)置這個(gè)環(huán)境變量的作用是什么呢?就單獨(dú)的java開(kāi)發(fā)而言,這個(gè)環(huán)境變量并沒(méi)有任何作用,這就是很多根據(jù)書(shū)上的描述設(shè)置好之后,把一本書(shū)學(xué)完也沒(méi)有用到這個(gè)變量,所以很是不理解。

            其實(shí)JAVA_HOME變量最好還是設(shè)置一下。首先,我們?yōu)榱四軌蚓幾g和運(yùn)行java程序,需要在PATH環(huán)境變量中把java.exe所在的目錄設(shè)置為PATH變量的一部分,目的是為了能夠通過(guò)命令行運(yùn)行javac和java命令成為可能,當(dāng)你在命令行中輸入javac ...或者java ...的時(shí)候,如果提示你一個(gè)錯(cuò)誤:'javac' 不是內(nèi)部命令或外部命令,也不是可運(yùn)行的程序或批處理文件。這時(shí)候說(shuō)明操作系統(tǒng)沒(méi)有找到你通過(guò)命令行輸入的javac這個(gè)命令,為什么呢?因?yàn)椴僮飨到y(tǒng)并 不知道你的javac.exe這個(gè)文件在哪里,所以無(wú)法執(zhí)行對(duì)應(yīng)的文件。那么為了能夠讓操作系統(tǒng)找到這個(gè)可執(zhí)行文件,我們就需要把javac.exe這個(gè)可執(zhí)行文件所在的目錄作為PATH環(huán)境變量的一部分設(shè)置起來(lái),這樣當(dāng)你在命令行輸入一個(gè)命令的時(shí)候,操作系統(tǒng)就會(huì)自動(dòng)搜索PATH變量中所指定的所有目錄了。在Windows系統(tǒng)中PATH變量中的所有路徑采用分號(hào)分割,如果在Linux系統(tǒng)中采用冒號(hào)分割。另外說(shuō)明一點(diǎn),如果你設(shè)置好了環(huán)境變量,在命令行中還是出現(xiàn)同樣的錯(cuò)誤,那么有兩種可能,一種就是你的設(shè)置不正確,另一種就是你的設(shè)置沒(méi)有生效,一般你可以關(guān)閉命令行窗口再重新打開(kāi)就可以了。這對(duì)這個(gè)設(shè)置,以剛才的目錄為例,那么PATH變量中的內(nèi)容就是...;d:\jdk1.6.0\bin,這時(shí)候我們可以借用已經(jīng)設(shè)定過(guò)的JAVA_HOME,將PATH的內(nèi)容修改為:...;%JAVA_HOME%\bin,這樣的設(shè)置有一定的好處,當(dāng)你的系統(tǒng)中重新安裝JDK,并改變過(guò)目錄的話,你只要修改JAVA_HOME的內(nèi)容就可以了,PATH則不需要修改。此外,JAVA_HOME變量還會(huì)有一些其他用途,比如Eclipse這個(gè)IDE,它本身是由java程序編寫(xiě)的,那么在運(yùn)行的時(shí)候必然需要虛擬機(jī)的存在,所以Eclipse在啟動(dòng)時(shí)需要查找虛擬機(jī),如果有JAVA_HOME這個(gè)變量,那么 Eclipse就會(huì)利用這個(gè)變量找到虛擬機(jī)的路徑。所以雖然開(kāi)始JAVA_HOME環(huán)境變量可以不設(shè)置,但是還是建議大家為以后考慮而設(shè)置上。

            我們繼續(xù)來(lái)談?wù)揅LASSPATH的問(wèn)題,很多書(shū)上在講解java程序的時(shí)候建議大家設(shè)置CLASSPATH這個(gè)環(huán)境變量,我們這里不建議大家設(shè)置。原因我們會(huì)在稍后的時(shí)候看到。講到CLASSPATH,我們首先來(lái)看編寫(xiě)java程序時(shí)一直在用的兩個(gè)命令javac和java。

            javac的命令語(yǔ)法是這樣的:

            javac <選項(xiàng)> <源文件>

            我們常用的情況是這樣的:

            javac -classpath <類(lèi)路徑> <要編譯的java源文件>

            這里的類(lèi)路徑輸入什么呢?這里的類(lèi)路徑是指要編譯的java源文件中所用的非java的基礎(chǔ)API中的類(lèi)在那個(gè)目錄下,路徑可以是多個(gè)目錄,用分號(hào)隔開(kāi) 來(lái)。比如說(shuō)我們要編譯App.java這個(gè)文件,而這個(gè)文件中用到了com.util這個(gè)包中的MyDate這個(gè)類(lèi),現(xiàn)在我們假設(shè)MyDate這個(gè)類(lèi)存在目錄是:d:\mylib\com\util\MyDate.class,那么我們?nèi)绾尉幾gApp這個(gè)類(lèi)呢?我們的命令如下:

            javac -classpath d:\mylib App.java

            注意這里的classpath的內(nèi)容,我們只是指定路徑到package所在目錄,并不能把package一起指定進(jìn)去,而且MyDate.class必須在com\util這個(gè)目錄中,因?yàn)檫@個(gè)類(lèi)定義了package為com.util。好了現(xiàn)在你對(duì)javac中的classpath明白了嗎?

            我們?cè)賮?lái)看java這個(gè)命令,這個(gè)命令的語(yǔ)法是這樣的:

            java [選項(xiàng)] 類(lèi) [參數(shù)]

            比如說(shuō)以上面的例子,我們假設(shè)App這個(gè)類(lèi)位于com.app這個(gè)package中,它的存放目錄是:d:\dev\myapp\com\app\App.class,那么我們?cè)撊绾芜\(yùn)行這個(gè)類(lèi)呢?命令如下:

            java -classpath d:\dev\myapp;d:\mylib com.app.App

            從命令中我們可以看到,在classpath后面我們指定兩個(gè)目錄,分別是App這個(gè)類(lèi)的package所在的目錄和MyDate這個(gè)類(lèi)的package 所在的目錄,這里的類(lèi)路徑要給定的是要運(yùn)行的類(lèi)和這個(gè)類(lèi)用到的所有類(lèi)的package所在的目錄,多個(gè)目錄之間用分號(hào)隔離開(kāi)來(lái),最后指定要運(yùn)行的類(lèi)的時(shí)候必須加上package。

            好了到這里你應(yīng)該徹底掌握了編譯java程序和運(yùn)行java程序的訣竅了吧。如果我們?cè)谙到y(tǒng)環(huán)境變量中設(shè)置了CLASSPATH的話,在命令行中通過(guò)java運(yùn)行的時(shí)候如果再不指定CLASSPATH參數(shù),那么就會(huì)導(dǎo)致java虛擬機(jī)只是按照CLASSPATH環(huán)境變量中的目錄搜索類(lèi),而不在你的當(dāng)前目錄下搜索類(lèi),結(jié)果自然會(huì)出現(xiàn)Exception in thread "main" java.lang.NoClassDefFoundError,所以當(dāng)你看到這個(gè)錯(cuò)誤的時(shí)候請(qǐng)查看一下你的系統(tǒng)環(huán)境變量,如果沒(méi)有設(shè)置 CLASSPATH,那么在檢查一下你的當(dāng)前目錄。為了確保萬(wàn)無(wú)一失,按照上面講述的例子進(jìn)行操作是不會(huì)發(fā)生任何錯(cuò)誤。


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            国产成人精品久久免费动漫 | 久久婷婷国产麻豆91天堂| 精品国产婷婷久久久| 久久国产精品久久国产精品| 精品综合久久久久久98| 香蕉久久影院| 久久亚洲国产最新网站| 亚洲国产成人精品91久久久 | 久久91亚洲人成电影网站| 97精品国产97久久久久久免费| 日本精品久久久久影院日本| 开心久久婷婷综合中文字幕| 亚洲欧美一区二区三区久久| 东方aⅴ免费观看久久av| 亚洲国产另类久久久精品黑人| 久久亚洲中文字幕精品有坂深雪 | 久久免费香蕉视频| 久久99国产一区二区三区| 久久国产精品久久| 99久久人人爽亚洲精品美女| 久久综合久久综合九色| 久久ww精品w免费人成| 99久久无码一区人妻a黑| 久久久久久午夜成人影院 | 久久99精品国产麻豆宅宅| 久久九九精品99国产精品| 久久久精品人妻一区二区三区蜜桃 | 日本精品久久久久中文字幕| 久久99毛片免费观看不卡| 久久综合久久综合九色| 国产精品伊人久久伊人电影| 日本免费久久久久久久网站| 久久精品国产欧美日韩| 亚洲国产成人久久笫一页 | 久久五月精品中文字幕| 国内精品久久久久影院老司| 色偷偷88888欧美精品久久久| aaa级精品久久久国产片| 国产精品亚洲美女久久久| 亚洲婷婷国产精品电影人久久| 国产成年无码久久久免费|