A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 山水游客 中级黑马   /  2012-6-12 21:37  /  1125 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 孙胜录 于 2012-6-18 23:11 编辑

如果在一个文件中写入了包名,在DOS命令下编译能成功,运行时却总是报错:java.lang.NoClassDefFoundError
这时该怎么写java命令呢?
比如一个Test类,里面有包:package cn.itcast(属于这个包)
搞了半天,没搞也来,特来请教!!

4 个回复

倒序浏览
你是不是编译用的:   javac 名字.java
而运行用的是:       java 名字.class

要是这个原因的话,运行语句应该是 java 名字   
不要.class哈
回复 使用道具 举报
说的很明白了,没有定义类·····
回复 使用道具 举报
第一步javac -d . cn.itcast.Test.java
第二步java cn.itcast.Test
这样写应该没问题了.
回复 使用道具 举报
你先 在DOS 运行下面的命令:
echo %classpath%;
看看你的 classpath 有没有    .;
因为 你既然已经 javac 了 说明已经编译成功了,所有 在当前路径下 就一定有 编译的Test.class 文件
但是你的classpath里面 没有设置   .; 就默认是window 的查找路径
这里的 .; 表示当前路径,你把它加到环境变量 classpath  就一定可以的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马