黑马程序员技术交流社区
标题:
java运行的问题
[打印本页]
作者:
山水游客
时间:
2012-5-22 22:51
标题:
java运行的问题
如果在一个文件中写入了包名,在DOS命令下编译能成功,运行时却总是报错:java.lang.NoClassDefFoundError
这时该怎么写java命令呢?
比如一个Test类,里面有包:package cn.itcast(属于这个包)
搞了半天,没搞也来,特来请教!!
作者:
蒋映辉
时间:
2012-5-22 22:53
有包的话 你就要把你的JAVA文件放到cn/itcast目录下 然后cmd也要弄到这个目录下执行 如果前期实验代码 可以把包去了
作者:
尹丽峰
时间:
2012-5-22 23:13
标题:
.
本帖最后由 尹丽峰 于 2012-5-22 23:46 编辑
javac -d
.
Test.java 注意那个“.”
作者:
丰亚彬
时间:
2012-5-23 09:52
是这样的,我给你解释一下,你编译成功了以后,因为你程序里写了包名,所以你没法直接执行这个java程序,你需要按照包的路径建立相应的文件夹目录,按照你说的,你要先建立一个cn文件夹,它里面有一个itcast文件夹,把你的Test.class文件放到itcast文件中去,然后你再dos命令窗口输入.class 文件名的全路径运行:java cn.itcast.Test就可以了
这样做是很麻烦的,所以编译的时候我们一般用javac提供的参数编译:javac -d . Test.java这样它自动就给你把包目录建立好了,不过你如果要在dos命令窗口执行还是需要使用java cn.itcast.Test把全路径写进去,这就是为什么后期老师让我们用IDE了,因为你光干这个事情就累死了,有人会帮我们做,我的重点是在写程序上,不是弄层级目录的,呵呵,希望对你有帮助
作者:
胡团乐
时间:
2012-5-23 20:29
我是一般这样做的把一个java文件复制到c:盘根目录下 然后用记事本打开 删除最顶端上面那一行 比如 package cn.itcast.day1;删掉它
就可以正常编译运行了 希望帮到你
我觉得别的那些方法感觉比较繁琐
作者:
胡胜
时间:
2012-12-29 10:39
没有导包{:soso_e100:}
作者:
FantasticPie
时间:
2013-5-20 19:09
和我们在电脑上访问一个文件夹下的文件一样,不到指定的文件夹下拿不到想要的文件。同理包和类的关系也是如此,你把一个类声明在一个包中你就只能从这个包里找到类。java.lang.NoClassDefFoundError没有找到类的引用错误。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2