Eclipse生成的java class文件通过java命令行调用提示找不到主类的问题
2015-08-21 13:16
525 查看
我相信很多好奇的java初学者在学习时很可能会遇到这个问题:为什么Eclipse编译生成的class文件通过java命令行调用时总出现无法找到主类的问题??
我也没能幸免,经过一系列折腾后终于找到了解决问题的方法(也伴随着百度了一堆不着边际的解释,这个问题主要在于同一个问题却并不是由相同的原因导致,搜索不是智能的,所以发帖子的话最好写明问题以及问题导致的出错描述)
问题描述:
这个问题该下面问题出现的原因一样
1.多半eclipse中的java文件都是在一定的包里面的,如果一开始用写字板等编辑软件编写的helloworld程序,并通过java命令行编译并执行,不会有问题,有问题的话那说明你没有在classpath环境变量最前面加上.;该项配置
2.如果你用写字板创建的java文件含有了包信息,你也通过javac编译该java文件成功了,但是当满怀欣喜通过java命令调用生成的含有main方法的class文件时却出现了以下异常信息:Exception in thread "main" java.lang.NoClassDefFoundError: hello (wrong name: net/csdn/my/hello)
导致这个问题产生的原因不是网上所说的一些classpath没有配置对导致的(误人不浅啊,浪费我不少时间),而是因为你调用java命令所在目录导致的, 如果使用写字板编辑的java文件,应该新建net/csdn/my这个子目录,然后将javac生成的class文件复制到net/csdn/my目录下,然后通过java
net.csdn.my.hello调用即可成功(hello为我自己创建的类名称)
我也没能幸免,经过一系列折腾后终于找到了解决问题的方法(也伴随着百度了一堆不着边际的解释,这个问题主要在于同一个问题却并不是由相同的原因导致,搜索不是智能的,所以发帖子的话最好写明问题以及问题导致的出错描述)
问题描述:
这个问题该下面问题出现的原因一样
1.多半eclipse中的java文件都是在一定的包里面的,如果一开始用写字板等编辑软件编写的helloworld程序,并通过java命令行编译并执行,不会有问题,有问题的话那说明你没有在classpath环境变量最前面加上.;该项配置
2.如果你用写字板创建的java文件含有了包信息,你也通过javac编译该java文件成功了,但是当满怀欣喜通过java命令调用生成的含有main方法的class文件时却出现了以下异常信息:Exception in thread "main" java.lang.NoClassDefFoundError: hello (wrong name: net/csdn/my/hello)
导致这个问题产生的原因不是网上所说的一些classpath没有配置对导致的(误人不浅啊,浪费我不少时间),而是因为你调用java命令所在目录导致的, 如果使用写字板编辑的java文件,应该新建net/csdn/my这个子目录,然后将javac生成的class文件复制到net/csdn/my目录下,然后通过java
net.csdn.my.hello调用即可成功(hello为我自己创建的类名称)
相关文章推荐
- JDK API 在线文档
- java初始化块
- Eclipse Import Projects from Git
- java中的中文字符串排序
- Java性能优化(6):避免使用终结函数
- java 内存泄漏
- Java数组拷贝
- 20_ java.lang.IllegalArgumentException: Service Intent must be explicit异常说明
- Java中的集合Collection以及对应的子类list类
- Spring中bean的配置
- JavaDoc支持的标签
- 排序算法系列——基数排序
- java内部类,局部变量加Final分析
- Java进阶02 异常处理
- Eclipse常规设置(我的Style我做主)
- SpringMVC 使用poi导入导出Excel
- xjc命令转换成java类乱码
- 将java源码打成jar包
- 将java源码打成jar包
- Eclipse中Outline里各种图标的含义