黑马程序员技术交流社区
标题:
java运行的问题
[打印本页]
作者:
曾公亮
时间:
2011-10-3 16:59
标题:
java运行的问题
如果在一个文件中写入了包名,在DOS命令下编译能成功,运行时却总是报错:java.lang.NoClassDefFoundError
这时该怎么写java命令呢?
比如一个Test类,里面有包:package cn.itcast.base(属于这个包)
搞了半天,没搞也来,特来请教!!
[
本帖最后由 曾公亮 于 2011-10-03 18:57 编辑
]
作者:
匿名
时间:
2011-10-3 17:28
检查运行时是否带了java后缀, 文件名大小写错误、classpath的配置。
作者:
匿名
时间:
2011-10-3 17:55
[img]http://b93.photo.store.qq.com/psb?/5b205669-fff2-43c6-9efe-27ee832744e1/.lVYMc5kr4bzEmo5XxvzuA6poKaYCCwb48vztnYjEaU!/b/YYzlejfVMgAAYss5cDf4MgAA[/img]
[img]http://b93.photo.store.qq.com/psb?/5b205669-fff2-43c6-9efe-27ee832744e1/cEt3iwdxymLOkDNtH4fBvQNMM0HB*cI74VK5TyqCH8M!/b/YY83cDdcMwAAYq8JgTfQMgAA[/img]
以上内容是有一个类Test(package cn.itcast.base;),运行时输出test这个词,该类存放在java文件夹下,在java目录下创建一个文件夹cn.itcast.base,然后将在dos命令下生成的.class文件移动到文件夹cn.itcast.base下再运行即可成功!
作者:
曾公亮
时间:
2011-10-3 19:04
本帖最后由 曾公亮 于 2011-10-6 23:18 编辑
还是不行啊
作者:
匿名
时间:
2011-10-3 20:00
如果你是按我写的步骤执行还是不行的话,那就是你的classpath的设置问题了!
作者:
匿名
时间:
2011-10-3 20:34
可以了,每一级建一个文件夹,运行时还得把包名带上,java cn.itcast.base.Test
多谢开导!!!
作者:
成杰
时间:
2011-10-6 14:57
当打包后,在DOC下面编译或者运行时,记得要把包名带上 javac java cn.itcast.base.Test.java 和 java java cn.itcast.base.Test
这样编译才行,不然,打包后,找不到相应的类名,就会出现上述的 java.lang.NoClassDefFoundError 的错误!
作者:
陈晓东
时间:
2011-10-8 00:47
javac -d . Test.java
java cn.itcast.base.Test
如此而已 之所以找不到类 是因为你编译的时候没让包自动生成一层层文件夹
所以你运行的时候当然不会找到class文件了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2