Windows 2000中如何配置JDK

來源:互聯網
上載者:User

Java初學者往往對如何配置Java開發環境感到迷惑,論壇上也有很多朋友在詢問關於JDK配置的問題,特別是配置之後,編譯java檔案的時候,總是碰到這樣一個問題,錯誤提示為:

Microsoft Windows 2000 [Version 5.00.2195]
(C) 著作權 1985-1998 Microsoft Corp.
C:/>javac HelloWorld.java
C:/>java HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld

C:/>

  以上為出錯資訊,來源程式如下:

class HelloWorld {
public static void main(String[] args) {
// Display "Hello World!"
System.out.println("Hello World!");
}
}

  譯通過 運行怎麼就Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld???????/

  對於以上的問題,大家一貫的解決方案為,把HelloWorld.java檔案所在目錄的路徑加入參數classpath中,如:set classpath=%classpath%;.;……(這裡要注意其中的“.;”,一會兒我們做個實驗看看到底是什麼意思)。我試過了,好像不行,不知道是不是我沒有配置好。至於給這個問題解答的網友有沒有具體實踐過,我不得而知。於是,我自己做了一次嘗試。

  我使用Win2000+JDK1.30,在java.sun.com下載j2sdk1_3_0-win.exe,然後點擊安裝,安裝系統預設的路徑,安裝到c:盤,即:c:/jdk130。安裝完成需要配置環境,這涉及到三個參數:path、classpath、java_home。在我的電腦-》屬性-》進階-》環境變數 中,分別添加這三個變數,他們的值分別為:

名稱=值

java_home=c:/jdk130 (安裝路徑)
classpath=.;C:/jdk13/lib/tools.jar;C:/jdk13/lib/dt.jar;C:/jdk13/bin;
path= C:/jdk13/bin;

  然後確定就可以了。

  註解:classpath用於指明所有用於引用的類所在的目錄,它允許使用者把自己的類放在不同的目錄中,但應該讓JDK編譯工具知道它們在那裡。例如:

set classpath=.;C:/jdk13/lib/tools.jar;C:/jdk13/lib/dt.jar;C:/jdk13/bin;

  命令中的第一個圓點指明classpath當前的工作目錄。這個圓點非常有用,當不願意輸入完整的目前的目錄路徑時,可以用它來代替,java程式允許這麼做。

  在d:建立子目錄java,編寫一個java檔案,名字叫Hello.java,進入dos模式,進入到目錄d:/java,然後敲入javac Hello.java,編譯通過。然後可以使用java Hello運行產生的class檔案,沒有問題,結果正常輸出。若是我們在Hello.java檔案中的第一句加入:package hello; ,然後編譯,沒有出現錯誤,運行時我們會看到如下錯誤資訊:

Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong
hello/Hello)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.
1)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
at java.net.URLClassLoader.access0(URLClassLoader.java:56)
at java.net.URLClassLoader.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)

  這時,我們在編譯的時候,應該這樣:javac -d . Hello.java這樣會在目前的目錄下產生一個新的子目錄,目錄名字就是hello。

  我們可以用一下兩種方法運行編譯好的檔案,在目前的目錄下,敲入:java hello/Hello或者java hello.Hello ,這樣我們就可以看到運行結果了。

    

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.