(转)Eclipse 下找不到或无法加载主类的解决办法
转自:http://my.oschina.net/leejun2005/blog/106789,写的太好了!
有时候 Eclipse 会发神经,好端端的 project 就这么编译不了了,连 Hello World 都会报“找不到或无法加载主类(Exception in thread "main" java.lang.NoClassDefFoundError:xxx)”的错误,我已经遇到好几次了,以前是懒得深究就直接重建project了,但遇到次数多了必须深究下了,现总结几种解决方案,大家根据自己的情况逐一尝试即可。
1、是因为.java文件不在项目的src路径内,也就是说源代码未被eclipse编译,字节码不存在无法运行了,在项目名上右键 -> Builder Path -> Configure Build Path -> 选择Source面板,再点Add Folder, 把源代码所在的包路径的上层目录加进来,而且如果你是把两个类写在一个文件里的话,你在右键选择Run As Java Appication 的时候,要把光标置于包括main方法的类上(相当于指定主类入口)。
2、项目的Java Build Path中的Libraries中也许某个jar包是不可用的,显示红色叉叉。这说明系统找不到这个这个jar文件,把这个jar删除或者重新加载进来即可。
3、某些情况下,最快捷的解决办法是,打开带有main函数的类,ctrl +A (全选)---> ctrl +X(剪切)-----> ctrl+S(保存)--->关闭---->再打开--->ctrl +V (粘贴) ---->OK;一句话就是剪切出去 关闭 再粘进来。(相当于让 eclipse 重新编译一下,如果你开启了自动编译的话。)
4、最常见的问题应该是下面的情况:package 被当做 folder 来对待了,导致所有的 .java 文件无法被 eclipse 识别,自然也就无法识别 main 函数,也就没法编译运行了,案例截图:


此时最快的解决方案是右键源码文件夹选择:
src > remove from build path → src > Build Path > Use as Source Folder
最后说下 Folder 和 package 的区别:Folder靠"/"来进行上下级划分,package靠“.”来进行上下级划分
5、最坏的情况下,估计你得重建 Project。(这是最土但是最有效的解决方案)
6、如果上述不行,大家直接在 cmd 下 javac 然后 java 运行试试,如果这都报错,那是你的 jdk 或者 os 环境有问题了。
(转)Eclipse 下找不到或无法加载主类的解决办法的更多相关文章
- eclipse 下找不到或无法加载主类的解决办法
有时候 Eclipse 会发神经,好端端的 project 就这么编译不了了,连 Hello World 都会报“找不到或无法加载主类”的错误,我已经遇到好几次了,以前是懒得深究就直接重建projec ...
- eclipse 下找不到或无法加载主类的解决办法[转]
转自:http://blog.sina.com.cn/s/blog_7ebc46500101gtff.html 有时候 Eclipse 会发神经,好端端的 project 就这么编译不了了,连 Hel ...
- 关于springboot错误:“找不到或无法加载主类”的解决办法
我从网上找的一个Demo,运行的时候报 错误:“找不到或无法加载主类”,百度了一番,都是说在项目目录打开cmd,使用 mvn install.mvn clean complie之类的命令,都成功了,但 ...
- java 错误:找不到或无法加载主类的解决办法
此类错误的常见解决办法: 1.是因为.java文件不在项目的src路径内,也就是说源代码未被eclipse编译,字节码不存在无法运行了在项目名上右键 -> Builder Path -> ...
- java运行显示“找不到或无法加载主类”的解决办法(linux)
要是配置文件的路径问题.打开终端,输入vi ~/.bashrc添加如下代码即可. # set Java environmentJAVA_HOME=/usr/local/java/jdk1.8.0PAT ...
- 运行Java cmd程序 找不到或无法加载主类怎么解决
//这个问题原因有以下几种,但是和环境变量并没有太大的关系 //能够执行java 和 javac 就证明你的环境变量已经配置好了,其实 classpath 可以不配置 //假如有如下文件:H:\cod ...
- atitit.错误:找不到或无法加载主类 的解决 v4 qa15.doc
atitit.错误:找不到或无法加载主类 的解决 v4 qa15.doc 1.1. 修改此java文件,让他启动编译,还是不能生成了新的class, 1.2. 估计ide调试锁死class ,查看de ...
- Java的cmd配置(也即Java的JDK配置及相关常用命令)——找不到或无法加载主类 的解决方法
Java的cmd配置(也即Java的JDK配置及相关常用命令) ——找不到或无法加载主类 的解决方法 这段时间一直纠结于cmd下Java无法编译运行的问题.主要问题描述如下: javac 命令可以正 ...
- Eclipse : 找不到或无法加载主类
问题: 找不到或无法加载主类 解决思路: Step1: 去网上百度了下,基本上都说是环境变量的问题. 原因:环境变量设置有问题. 解决方法:重设环境变量 结果:当然问题没解决. Step2:再次百度, ...
随机推荐
- 聊一聊 Android 6.0 的运行时权限
权限一刀切 棉花糖运行时权限 权限的分组 正常权限 正常权限列表 特殊权限危险权限 请求SYSTEM_ALERT_WINDOW 请求WRITE_SETTINGS 必须要支持运行时权限么 不支持运行时权 ...
- NDK开发之JNIEnv参数详解
即使我们Java层的函数没有参数,原生方法还是自带了两个参数,其中第一个参数就是JNIEnv. 如下: native方法: public native String stringFromC(); pu ...
- Linux bash常用测试判断选项
bash编程中if [ ]后面的测试选项: 1.整数测试: -le less equal -lt less than -ge greater equal -gt greater than -eq ...
- mysql 1067 进程意外终止 无法启动
查看日志 data/XXX.err 发现如下错误 [ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous ...
- 隐藏元素的宽高无法通过原生js获取的问题
1.起源:移动app项目中,页面加载时需要加载国家下拉列表,将隐藏的透明浮层和一个显示加载过程中的框 显示出来,隐藏的透明浮层设置宽高都是100%即可,而这个加载提示框需要先得出它的宽高,然后再根据页 ...
- 30、ADO.NET、事务、DataSet
ADO.NET ADO.NET是一组用于和数据源进行交互的面向对象类库.通常数据源是数据库,但也可以是文本文件.Excel表格.XML文件. 说白了就是使用.net操作数据库的一套类库. ADO.NE ...
- 两种隐藏元素方式【display: none】和【visibility: hidden】的区别及由此引出的问题
此前看到一随笔(@任天缘 原文)讲了这个问题,并总结了: [display: none]:隐藏元素及元素内的所有内容,并且该元素的位置.宽高等其他属性值一并“消失”: [visibility: hid ...
- HierarchicalDataBoundControl 错误
出现以上错误原因是控件Datasources绑定出错,可能原因是没有区分树形结构的控件如Treeview的绑定与二维数据如datagridview绑定之间的区别.
- Android- Context理解
学习了安卓以后还是不理解Context的用法:Api文档链接http://wear.techbrood.com/reference/android/content/Context.html 一个非常好 ...
- 读取 xml 文件 获取其中保存的数据信息
建立一个存储过程来返回要读取的数据形成结果集: CREATE PROC dbo.getValuesFromXmlByPath@fileName NVARCHAR(128)asDECLARE @T XM ...