“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" .