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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 安宁.沉睡 于 2014-8-16 22:56 编辑

在运行程序时发现一个问题在Eclipse 编写的可运行代码,用命令提示符运行时必须将”package test;“这行注释掉,不然会出现找不加载主类的错误;但是经过实验发现只要将包的声明注释掉就可以正常运行。请问谁知道这是为什么啊??

8 个回复

倒序浏览
黑马-胡明 发表于 2014-8-15 13:06
这个是包,Elispse里新建的。但是通过命令提示符的话这个包就是多余的了。因为运行的时候package tsst也会 ...

Package test 包命令只有在编译的时候才执行并创建包文件夹,在命令提示符中需要在编译是提供包文件夹的创建地址格式为格式为
源文件地址> javac -d 地址 类名.java 此命令将在指定地址创建包文件夹并保存编译的.class 文件。
运行时格式
包地址>java 包名.类名  

点评

Package test 包命令只有在编译的时候才执行并创建包文件夹,在命令提示符中需要在编译是提供包文件夹的创建地址格式为格式为 源文件地址> javac -d...   发表于 2014-8-16 22:56
回复 使用道具 举报
eclipse项目帮你把类路径都配置好了,你即使不很熟悉类路径也能运行程序。命令行的javac和java没这么智能,如果你使用了package命令,就需要对类路径有一定了解才能正确编译、运行程序
回复 使用道具 举报
fantacyleo 发表于 2014-8-14 22:33
eclipse项目帮你把类路径都配置好了,你即使不很熟悉类路径也能运行程序。命令行的javac和java没这么智能, ...

那请问包命令在命令提示符运行中怎么导致错误的?为什么不影响编译,怎么导致运行时找不到主函数的?
回复 使用道具 举报
安宁.沉睡 发表于 2014-8-15 12:21
那请问包命令在命令提示符运行中怎么导致错误的?为什么不影响编译,怎么导致运行时找不到主函数的? ...

那要看你的javac和java命令怎么写的,在哪个文件夹下发出这两个命令和你的文件夹结构
回复 使用道具 举报
这个是包,Elispse里新建的。但是通过命令提示符的话这个包就是多余的了。因为运行的时候package tsst也会执行,就是新建了一个test文件夹,然后你的程序代码就放到这个test文件中去了,此时你运行的就会出现NoclassException(找不到文件异常,好像这个单词拼写错了。)
回复 使用道具 举报
学习了。。。
回复 使用道具 举报
黑马-胡明 发表于 2014-8-15 13:06
这个是包,Elispse里新建的。但是通过命令提示符的话这个包就是多余的了。因为运行的时候package tsst也会 ...

完美答案,谢谢了,你解释的很对,如果是你所说的包命令执行新建一个文件夹,再将主类放到这个文件夹中确实会出现找不到主函数错误,而编译的时候包命令并不会执行
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马