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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 睡不够的猪 中级黑马   /  2013-10-31 14:19  /  796 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 睡不够的猪 于 2013-10-31 14:32 编辑

为什么在java文件中加了包后 用java调用这个class文件的时候,会出现如下错误(不是classpath的问题) 苦思不得解 求大神帮忙解释下 谢谢!


评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

3 个回复

倒序浏览
本帖最后由 ヅ飞飞 于 2013-10-31 14:54 编辑

你的错误是因为进入了包内执行java命令。
在dos窗口执行java 命令时所在路径应该是打包类包上层文件夹(这里的包是文件夹的意思)而不要进入包内执行java。并指定含包名的类全名。



当你使用package 包名;定义包时,此java文件下定义的所有类,其名称会变成:包名.类名。
所以你的myNotepad类,全名为:包名.MyNotepad。并且该类必须位于名称为包名的文件夹内(包其实就是文件夹,打包类必须位于包内否则该类无法使用)。有两种解决方法:1、手动创建包名文件夹将class文件放入文件夹;2、编译时使用-d选项(功能:指定class文件存放位置并自动生成文件夹来打包类):javac -d . MyNotepad.java(-d后面的点表示当前文件夹)

评分

参与人数 2技术分 +2 收起 理由
黄炳期 + 1
To + 1 赞一个!

查看全部评分

回复 使用道具 举报
上次回答有误,回答已更新。
回复 使用道具 举报
是以前编好的程序吧?而且导入的包是自定义类是么?
如果是的话,解决八方如下:
先将自定义类稍微修改,加一空行也行,重新编译运行。
再运行主程序。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马