Windows 2000中如何配置JDK
Java初學(xué)者往往對(duì)如何配置Java開發(fā)環(huán)境感到迷惑,論壇上也有很多朋友在詢問關(guān)于JDK配置的問題,特別是配置之后,編譯java文件的時(shí)候,總是碰到這樣一個(gè)問題,錯(cuò)誤提示為:
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版權(quán)所有 1985-1998 Microsoft Corp.
C:>javac HelloWorld.java
C:>java HelloWorld
Exception in thread 'main' java.lang.NoClassDefFoundError: HelloWorld
C:>
以上為出錯(cuò)信息,源程序如下:
class HelloWorld {
public static void main(String[] args) {
// Display 'Hello World!'
System.out.println('Hello World!');
}
}
譯通過 運(yùn)行怎么就Exception in thread 'main' java.lang.NoClassDefFoundError: HelloWorld???????/
對(duì)于以上的問題,大家一貫的解決方法為,把HelloWorld.java文件所在目錄的路徑加入?yún)?shù)classpath中,如:set classpath=%classpath%;.;……(這里要注意其中的“.;”,一會(huì)兒我們做個(gè)試驗(yàn)看看到底是什么意思)。我試過了,好像不行,不知道是不是我沒有配置好。至于給這個(gè)問題解答的網(wǎng)友有沒有具體實(shí)踐過,我不得而知。于是,我自己做了一次嘗試。
我使用Win2000+JDK1.30,在java.sun.com下載j2sdk1_3_0-win.exe,然后點(diǎn)擊安裝,安裝系統(tǒng)默認(rèn)的路徑,安裝到c:盤,即:c:jdk130。安裝完成需要配置環(huán)境,這涉及到三個(gè)參數(shù):path、classpath、java_home。在我的電腦-》屬性-》高級(jí)-》環(huán)境變量 中,分別添加這三個(gè)變量,他們的值分別為:
名稱=值
java_home=c:jdk130 (安裝路徑)
classpath=.;C:jdk13libtools.jar;C:jdk13libdt.jar;C:jdk13bin;
path= C:jdk13bin;
然后確定就可以了。
注解:classpath用于指明所有用于引用的類所在的目錄,它允許用戶把自己的類放在不同的目錄中,但應(yīng)該讓JDK編譯工具知道它們?cè)谀抢铩@纾?/p>
set classpath=.;C:jdk13libtools.jar;C:jdk13libdt.jar;C:jdk13bin;
命令中的第一個(gè)圓點(diǎn)指明classpath當(dāng)前的工作目錄。這個(gè)圓點(diǎn)非常有用,當(dāng)不愿意輸入完整的當(dāng)前目錄路徑時(shí),可以用它來代替,java程序允許這么做。
在d:新建子目錄java,編寫一個(gè)java文件,名字叫Hello.java,進(jìn)入dos模式,進(jìn)入到目錄d:java,然后敲入javac Hello.java,編譯通過。然后可以使用java Hello運(yùn)行生成的class文件,沒有問題,結(jié)果正常輸出。若是我們?cè)贖ello.java文件中的第一句加入:package hello; ,然后編譯,沒有出現(xiàn)錯(cuò)誤,運(yùn)行時(shí)我們會(huì)看到如下錯(cuò)誤信息:
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)
這時(shí),我們?cè)诰幾g的時(shí)候,應(yīng)該這樣:javac -d . Hello.java這樣會(huì)在當(dāng)前目錄下產(chǎn)生一個(gè)新的子目錄,目錄名字就是hello。
我們可以用一下兩種方法運(yùn)行編譯好的文件,在當(dāng)前目錄下,敲入:java hello/Hello或者java hello.Hello ,這樣我們就可以看到運(yùn)行結(jié)果了。
相關(guān)文章:
1. linux上傳并配置jdk和tomcat的教程詳解2. jdk環(huán)境變量怎么配置win10絕對(duì)路徑3. win10下配置jdk環(huán)境變量的方法4. Linux下怎么安裝自己想要的jdk5. Win7怎么配置JDK環(huán)境變量 安裝JDK并配置環(huán)境變量教程6. Windows7系統(tǒng)如何安裝jdk與配置環(huán)境變量?7. Linux下怎么卸載自帶的JDK8. JDK環(huán)境變量該如何配置 WIN7JDK環(huán)境變量的操作方法9. Linux系統(tǒng)(Centos6.5以上)安裝jdk教程解析10. Win7系統(tǒng)怎么配置JDK環(huán)境變量?
