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