“java.lang.NoClassDefFoundError” 關(guān)于classpath設(shè)置問(wèn)題
需要在classpath中加入“.”
或 在運(yùn)行時(shí)加入?yún)?shù)-cp -classpath
如:java -classpath . Test
java.exe 接受的參數(shù)是類名,而不是文件名
java如何知道在哪加載類?
CLASSPATH環(huán)境變量的作用,java搜索CLASSPATH 變量以及 -cp -classpath
在 Windows 2000 / XP / .Net Server 中, 進(jìn)入"系統(tǒng)屬性--高級(jí)--環(huán)境變量",
新建環(huán)境變量名為CLASSPATH, 值為 ".;C:\JDK1.5\lib\dt.jar;C:\JDK1.5\jre\lib\rt.jar"
其中, "." 代表當(dāng)前目錄, rt.jar是最基本的Java運(yùn)行庫(kù), dt.jar是輔助開(kāi)發(fā)工具庫(kù)
為了使用方便, 還可以在PATH變量中加入 C:\JDK1.5\bin,
這樣運(yùn)行javac.exe 和 java.exe 就不用加上完整的路徑名了.
這里C:\JDK1.5是我的JDK路徑, 請(qǐng)更改為你自己對(duì)應(yīng)的路徑. 而且, 一般我們會(huì)添加一個(gè)JAVA_HOME變量, 設(shè)置為JDK路徑, 因?yàn)? Tomcat, Ant 等不少 Apache 項(xiàng)目都會(huì)要求此變量.
在安裝了ant等Java工具, 庫(kù)等后, 一般按照說(shuō)明在CLASSPATH中加入對(duì)應(yīng)的運(yùn)行庫(kù)以方便運(yùn)行
最后還有一個(gè)小問(wèn)題, 關(guān)于含有包的類的調(diào)用, 應(yīng)在包的頂目錄調(diào)用java, 而不是具體類的目錄.
比如 C:\test\com\softboys\HelloWorld.class 這個(gè)類, 應(yīng)該在C:\test下調(diào)用 "java com.softboys.HelloWorld" 而 不是在 C:\test\com\softboys\ 調(diào)用"java HelloWorld" .