當前位置:首頁 » 編程軟體 » dos命令編譯java

dos命令編譯java

發布時間: 2025-04-25 10:57:31

1. 如何在dos命令行中運行java程序

工具/原料

電腦

方法/步驟

  1. 打開開始,運行cmd,進入dos界面。

2. 在DOS中編譯JAVA文件時提示JAVAC找不到Hello.java

2.1.3 了解JDK
接著來了解一下安裝的東西有哪些。這里假設JDK與公用JRE各安裝至C:\Program Files\Java\jdk1.5.0_06\及C:\Program Files\Java\jre1.5.0_06\。
公用JRE主要是為開發好的Java程序提供執行的平台。前面曾經說過,JDK本身也有自己的JRE,這個JRE位於JDK安裝目錄的jre目錄下。以前面的安裝為例,就是在C:\Program Files\Java\jdk1.5.0_06\jre中,JDK本身所附的JRE主要是開發Java程序時做測試之用。與公用JRE的主要差別在於JDK本身所附的JRE比公用JRE多了個server的VM(Virtual Machine)執行選項,如圖2-5和圖2-6所示。通過查看C:\Program Files\Java\jdk1.5.0_06\jre\bin與C:\Program Files\Java\jre1.5.0_06\bin就可以了解。

圖2-5 JDK的JRE有server選項 圖2-6 公用JRE沒有server選項
server與client選項的差別在於所使用的VM不同,執行Java程序時默認會使用client VM。若使用server VM,會花比較長的啟動時間及消耗較多的內存,為的是啟動Java程序後可以獲得較好的執行效能。初學者現階段不用在乎啟動server或client VM的差別,只要先知道有這兩種VM即可。
如圖2-7所示,繼續來看看JDK的安裝目錄下有哪些東西。

圖2-7 JDK安裝目錄的內容
bin目錄
提供的是JDK的工具程序,包括javac、java、javadoc、appletviewer等程序。
demo目錄
一些使用Java編寫好的范常式序。
jre目錄
JDK自己附帶的JRE。
lib目錄
工具程序實際上會使用的Java工具類(例如,javac工具程序實際上會去使用tools.jar中的com/sun/tools/javac/Main類)。
src.zip
Java提供的API類的源代碼壓縮文件。如果將來需要查看API的某些功能是如何實現的,可以查看這個文件中的源代碼內容。
在大致了解JDK與JRE安裝目錄下的內容之後,這里作個總結,您到底要記得哪些東西?答案是JDK安裝目錄下的bin目錄。因為當您編寫完Java程序之後,無論是編譯或執行程序,都會使用到bin目錄下所提供的工具程序。

2.2 設置Path與Classpath
對於習慣圖形化介面操作的初學者而言,在命令符模式下執行程序是一件陌生的事,也因此不了解Path路徑設置的方法與作用,而Java執行的平台也有自己的一套路徑規則來尋找編寫好的Java類,也就是所謂的Classpath設置。本節將介紹如何進行這些相關的設置。
2.2.1 設置Path
在安裝好JDK程序之後,在JDK安裝目錄(假設是C:\Program Files\Java\jdk1.5.0_06)下的bin目錄中,會提供一些開發Java程序時必備的工具程序。對於Java的初學者,建議從命令符模式(在Windows 2000/XP下稱之為命令提示符)下來操作這些工具程序。您可以在Windows 2000/XP的「開始」菜單中選擇「運行」,輸入「cmd」命令來打開命令符模式。
雖然您知道JDK的工具程序是位於bin目錄下,但您的操作系統並不知道如何找到這些工具程序。所以當您輸入javac嘗試執行編譯程序時,命令符模式下會告訴您找不到javac工具程序,如圖2-8所示。

圖2-8 出現這個信息表示找不到指定的工具程序
您必須告訴操作系統,應該到哪些目錄下嘗試找到您所想使用的工具程序。有幾個方法可以進行這項設置,最簡便的方法就是設置系統變數中的Path環境變數。在Windows 2000/XP下可以選擇桌面上的「我的電腦」並單擊滑鼠右鍵,選擇「屬性」後切換至「高級」頁面,並單擊下方的「環境變數」按鈕,在「環境變數」對話框中編輯Path變數,如圖2-9所示。

圖2-9 選擇Path變數並單擊「編輯」按鈕以進行路徑設置
如圖2-10所示,在Path變數的「編輯系統變數」對話框中,在「變數值」文本框中先輸入一個「;」,接著輸入JDK bin目錄的路徑(這里假設是C:\Program Files\Java\jdk1.5.0_06\bin),然後單擊「確定」按鈕即可完成設置。

圖2-10 在Path變數中加入JDK的bin目錄路徑
設置Path變數之後,要重新打開一個命令符模式才能重新讀入Path變數內容,接著如果執行javac程序,應該可以看到圖2-11所示的畫面。

圖2-11 若設置Path變數成功,就可以找到指定的工具程序
也可以在命令符模式下執行以下的命令,直接設置目前的環境變數,包括Path變數(這個設置在下次重新打開命令符模式時就不再有效):
set Path=%Path%;C:\Program Files\Java\jdk1.5.0_06\bin
由於以上介紹的Path設置都是尋找JDK安裝目錄下的bin目錄,所以操作系統會搜索JDK安裝目錄下的工具程序。這樣當執行java程序時,默認會使用JDK所附的JRE(即C:\Program Files\Java\jdk1.5.0_06\jre),而不是公用的JRE(即C:\Program Files\Java\jre1.5.0_06\)。
簡單地說,操作系統會嘗試在指定的Path變數中尋找指定的工具程序。當輸入javac命令時,由於Path變數中有設置JDK的bin目錄的路徑,操作系統就可以根據這個信息來找到javac工具程序。
2.2.2 設置Classpath
Java執行環境本身就是一個平台,執行於這個平台上的程序是已編譯完成的Java程序(後面會介紹到Java程序編譯完成之後,會以.class文件存在)。如果將Java執行環境比喻為操作系統,如果設置Path變數是為了讓操作系統找到指定的工具程序(以Windows來說就是找到.exe文件),則設置Classpath的目的就是讓Java執行環境找到指定的Java程序(也就是.class文件)。
有幾個方法可以設置Classpath,最簡單的方法是在系統變數中新增Classpath環境變數。在圖2-9中的「系統變數」下單擊「新建」按鈕,在「變數名」文本框中輸入Classpath,在「變數值」文本框中輸入Java類文件的位置。例如可以輸入「.;C:\Program Files\Java\jdk1.5.0_06\lib\tools.jar; C:\Program Files\Java\jdk1.5.0_06\lib\rt.jar」(jar文件是zip壓縮格式,其中包括.class文件和jar中的Classpath設置),每一路徑中間必須以;作為分隔。
事實上JDK 5.0默認就會到當前工作目錄(上面的.設置),以及JDK的lib目錄(這里假設是C:\Program Files\Java\jdk1.5.0_06\lib)中尋找Java程序。所以如果Java程序是在這兩個目錄中,則不必設置Classpath變數也可以找得到,將來如果Java程序不是放置在這兩個目錄時,則可以按上述設置Classpath。
如果所使用的JDK工具程序具有Classpath命令選項,則可以在執行工具程序時一並指定Classpath。例如:
javac -classpath classpath1;classpath3...
其中classpath1、classpath 2是實際要指定的路徑。也可以在命令符模式下執行以下的命令,直接設置目前的環境變數,包括Classpath變數(這個設置在下次重新打開命令符模式時就不再有效):
set CLASSPATH=%CLASSPATH%;classpath1;classpath3...
總而言之,設置Classpath的目的,在於告訴Java執行環境,在哪些目錄下可以找到您所要執行的Java程序。

良葛格的話匣子:
以上介紹的是幾個簡單的Path與Classpath設置方式,實際上還有一些設置方式。本章最後列出了幾個介紹Path、Classpath設置的網路資源鏈接,內容包括其他操作系統下的設置方式,您可以從中進一步了解相關的設置。

2.3 第一個Java程序
完成JDK相關環境設置之後,無論如何就先寫一個簡單的Java程序,以測試一下環境設置是否正確,順便增強一些學習的信心。以下要介紹的第一個Java程序是會顯示「嘿!我的第一個Java程序!」這段信息的簡單程序。
2.3.1 編寫和編譯Java程序
在正式編寫程序之前,先確定可以看得到的文件的擴展名。在Windows 2000/XP下默認是不顯示文件的擴展名的,這會造成重新命名文件時的困擾。如果目前在「資源管理器」下無法看到文件的擴展名,應先執行工具欄上的「工具」|「文件夾選項」並切換至「查看」頁面,取消「隱藏已知文件類型的擴展名」復選框,如圖2-12所示。

圖2-12 取消「隱藏已知文件類型的擴展名」復選框以顯示擴展名
接著選擇一個目錄來編寫Java源代碼文件。假設該文件存儲在C:\workspace目錄,您要新增一個「文本文件」(也就是.txt文件),並重新命名文件為HelloJava.java。由於是將文本文件的擴展名從.txt改為.java,所以系統會詢問您是否更改擴展名,應確定更改,接著雙擊HelloJava.java打開文件,並照著圖2-13所示編寫程序。

圖2-13 第一個Java程序
這個程序有幾點必須注意:
Java的源文件必須以擴展名 .java結束
這也就是必須讓「資源管理器」顯示擴展名的原因。
主文件名與類名稱必須一致
Java程序的類名稱是指class關鍵詞(Keyword)後的名稱。就這個例子而言,也就是HelloJava,該名稱必須與HelloJava.java的主文件名(HelloJava)一致。
注意每個字母的大小寫
Java程序中會區分字母的大小寫,System與system對Java程序來說是不一樣的名稱。
空白只能是半形空格符或是Tab字元
有些初學者可能不小心輸入了全形空格符,這很難檢查出來。
寫好程序並存檔後,接著打開一個命令符模式,並使用以下的命令切換至HelloJava.java所在的目錄(在此例中是C:\workspace):
> cd C:\workspace
接著使用javac工具程序來編譯.java文件,這里指定編譯HelloJava.java。命令如下:
C:\workspace\javac HelloJava.java
如果編譯順利成功,則在HelloJava.java所在的目錄,會出現一個HelloJava.class文件,這是已經編譯完成的Java位元組碼(Bytecodes)文件程序。
您可能會遇到以下的幾個錯誤,這表示您有一些地方操作有誤:
error: cannot read: HelloJava.java
這表示javac工具程序找不到您指定的.java文件,請檢查文件是否存在目前的目錄中,或是文件名稱是否有誤。
HelloJava.java:1: class HelloJava is public, should be declared in a file named HellJava.java
類名稱與主文件名不符,請確定主文件名與類名稱是相同的。
HelloJava.java:3: cannot find symbol
程序代碼中某些部分輸入錯了,最常發生的原因可能是沒有注意到字母大小寫。
javac 不是內部或外部命令、可執行的程序或批量文件
Path設置有誤或沒有在Path中加入JDK的bin目錄,請參考2.2節的內容。
2.3.2 執行Java程序
在順利編譯出 .class的文件之後,可以使用java工具程序來執行它。執行時必須指定類名稱,就以上的例子來說,也就是指定HelloJava.class這個文件的主文件名。命令執行方式如下:
C:\workspace>java HelloJava
java工具程序會根據您指定的類名稱,實際載入.class的文件,以上例來說,就是載入HelloJava.class並執行,執行的結果應該是圖2-14所示的畫面。

圖2-14 執行第一個Java程序的成功畫面
您可能會遇到以下的幾個錯誤,這表示您有一些地方操作有誤:
Exception in thread"main" java.lang.NoClassDefFoundError
java工具程序找不到您所指定的類,請確定指定的類存在目前的目錄中,名稱是否指定正確(如果是舊版的JDK,可能必須在Classpath中加入.,表示可於目前目錄中找到所指定的類)。
Exception in thread "main" java.lan.NosuchMethodError: main
沒有指定Java程序的入口(Entry Point)。java工具程序指定的類必須要有一個程序入口,也就是必須包括main(String[] args)這個方法(Method),請確定您的程序中包括它,必須與圖2-13所示的HelloJava.java內容一致。
在後面的章節中,如果不是要特別強調,就不再重復指出如何編譯與執行Java程序。當在後面的章節中說要編譯Java程序時,就是指使用javac工具程序來編譯.java;而說要執行Java程序時,就是指使用java工具程序來執行指定的Java類。

熱點內容
批量抖音腳本 發布:2025-04-25 15:58:10 瀏覽:835
運行極品飛車電腦要有什麼配置 發布:2025-04-25 15:51:35 瀏覽:418
sql動態傳參數 發布:2025-04-25 15:37:50 瀏覽:630
為啥keil不能編譯 發布:2025-04-25 15:20:35 瀏覽:65
客服系統源碼下載 發布:2025-04-25 15:19:48 瀏覽:630
高級密碼編譯方法 發布:2025-04-25 15:09:38 瀏覽:206
安卓nfc代表什麼 發布:2025-04-25 14:53:52 瀏覽:291
c語言求和編程 發布:2025-04-25 14:32:46 瀏覽:272
安卓手機按鍵精靈哪個好 發布:2025-04-25 14:25:15 瀏覽:692
我的世界桃花源伺服器ip是多少 發布:2025-04-25 14:19:47 瀏覽:74