记录下来遇到的(问题,解决方法),是更有效的解决问题的方式。(原谅我领悟的太晚与懒,从此用更有意义的方法,做一个更有意义的人)

因为遇到了多次,参考同一个方法,原文连接:https://blog.csdn.net/u010512607/article/details/46350813

近两天在用Eclipse写代码的时候突发奇想,把所有生成的 .class 文件统统删掉,以为只要重新运行就可以重新生成新的 class 文件,哪知道出问题了,控制台提示->错误:找不到或无法加载主类……。自己忙活了好久,也没有有效的解决方法。后来在网上找了找,终于发现了真正的原因。

原来,Eclipse 中的 Java 编译器是基于 .java 文件的新旧来判断是否进行编译。也就是说,一个 .java 文件如果不更新,那么 Eclipse 中的编译器就不会对其进行再次编译。

前面提到的删掉了所有的 .class 文件后点击运行报错主要也是这个原因。删除 .class 文件后,在 .java 文件没有变化的时候是不会被重新编译的,那么 JVM 在运行 .class 文件时就找不到 .class 文件,于是就报错。那么,该怎么解决呢?

我们知道,Eclipse 默认情况下第一次点击运行图标或者右键->Run As 一个源文件时,会提示如下:

也就是让我们选择是否在运行前自动保存源文件,这样在对源文件进行修改过后就可以立即反映到运行结果中。如果勾上Always save resources before launching,那么每次运行都会判断文件是否已经更新并进行保存,如果要对其进行设置,可以在 Window->Preferences->Run/Debug->Launching 中进行设置:

而在 Eclipse 中还有一点得注意,如果勾选了在运行前保存源文件,那么,源文件也会被编译,因为在默认的 Windows->Preferences->General->Workspace 中,有这样一条:

只要源文件一有变化(保存后)就会自动进行编译操作,缺点是必须得做点什么然后保存,所以如果源文件中没有使用到其它 .java 文件中自定义的类的时候,可以对其进行象征性的修改以使其变成新的,然后运行就行了。否则还得把用到的类也进行同样的操作然后保存运行。

注意,还有但是,这样做太麻烦了,而且对于一包含大量源文件的工程来说,这么做也不太现实。所以得找一个一劳永逸的解决之道。答案就是:

Project->Clean...

Clean...操作会将该工程以前的所有编译信息清空,然后默认将所在工程的所有 .java 文件都进行一次编译,这样的话就可以方便地进行修改与运行了。

写了这么多,总结一下关于删掉 .class 文件运行报错的几种解决办法:

1、对于单个文件,并且没有使用到在别的 .java 文件中自定义的类,可以对其进行象征性的修改,加空格或者类似的操作,然后保存。如果使用了其它类,那么就得在对应的类中也作修改并保存,或者修改完后一齐保存。

2、简单粗暴又有效的办法,Project->Clean...,将所在工程以往的编译信息都清空并全都重新编译一次。

错误 找不到或无法加载主类mysql_解决Eclipse中“诡异”的错误:找不到或无法加载主类...相关推荐

  1. 错误 找不到或无法加载主类 mysql_解决Eclipse中“诡异”的错误:找不到或无法加载主类...

    前面提到的删掉了所有的 .class 文件后点击运行报错主要也是这个原因.删除 .class 文件后,在 .java 文件没有变化的时候是不会被重新编译的,那么 JVM 在运行 .class 文件时就 ...

  2. 成功解决Python中导出图片出现错误SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position

    成功解决Python中导出图片出现错误SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position ...

  3. linux eclipse某些项目,某些项目无法导入,因为它们已存在于Eclipse中的工作空间错误中...

    某些项目无法导入,因为它们已存在于Eclipse中的工作空间错误中 我正在尝试导入我和我的同事一直在处理的项目..并在选择 - "导入"然后"导入现有项目"然后 ...

  4. ECLIPSE远程调试出现如下问题 ECLIPSE中调试代码提示找不到源

    ECLIPSE远程调试出现如下问题  ECLIPSE中调试代码提示找不到源 如此提示是由于没有JAR包中找不到MAIN,可以手动添加或自己修改 利用ECLIPSE填写JAR中的MAIN方法后,就可以调 ...

  5. 如何解决Xcode中的SIGABRT错误

    一分钟,您的iOS应用程序可以在Xcode中正常运行,而下一分钟,它由于不可思议的SIGABRT错误而崩溃了.这是怎么回事!? 在本教程中,您将学习: 如何解决Xcode中的" Signal ...

  6. Eclipse中io操作提示找不到文件

    第一种情况:使用工程中的文件 将文件放在工程目录中,此时的相对路径是以项目的根目录为参考的,在下面的示例1中,test.txt是在项目的根目录中,所以以项目的根目录为参考,可以直接将文件名当做文件路径 ...

  7. java 找不到或无法加载类_解决Java中找不到或无法加载主类错误

    场景: 使用java命令运行.class文件时出现:"错误: 找不到或无法加载主类": 原因: 1.java指令默认在寻找class文件的地址是通过CLASSPATH环境变量中指定 ...

  8. idea 找不到或无法加载主类_解决IDEA中Groovy项目no Groovy library is defined的问题

    实验环境 IDEA2019.1.2 Groovy-2.5.8 错误重现 新建了一个Groovy工程,指定了groovy版本,如图 新建了一个简单的Groovy Class,运行,出现如下错误 错误的尝 ...

  9. 解决eclipse报错:错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)

    事件:刚才在eclipse新建了一个类,然后执行了main方法,就报错了 分析: 1.我的class内容如下: 2.于是查了一下,看了第一篇文章,尝试了一下解决了这个问题,原文链接 解决:eclips ...

最新文章

  1. 长二F发射神十二飞船圆满成功!三名航天员飞向空间站天和核心舱
  2. JavaScript tips and tricks - 4
  3. 代码练习中的bug及修改方法
  4. JAVA面试题(part3)--if条件语句
  5. E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
  6. Python for Data Analysis 学习心得(二) - pandas介绍
  7. html vba 单元格 格式,VBA设置单元格格式之——字体
  8. Linux之防火墙开通端口
  9. Scala零基础教学【61-80】
  10. 驰骋工作流引擎-总体介绍
  11. 相同的树 深度优先搜索
  12. FaceWarehouse 3DMM形状拟合
  13. python计算无穷级数求和常用公式_级数求和常用方法-级数求和法
  14. Reactor3 Mono
  15. 【Origin】1.2 创建数据文件——Worksheet操作(1)
  16. 闲云野鹤:吃鸡(三)之场景制作:制作毒圈
  17. [opencv入门]1.2.6像素处理RGB三颜色数组图
  18. java image 反色,C#实现图像反色的方法
  19. 【字符串比较函数】strcmp,stricmp,strcmpi区别
  20. xbox game bar无法打开/安装怎么办?

热门文章

  1. 云盘倒下——生命中不能承受之重
  2. C语言中select函数简介及使用
  3. 手机怎么用外嵌字幕_今天才知道,手机拍视频还能添加字幕,方法太简单,看完就能学会...
  4. 智慧水务信息化建设——看“厂、站、网”一体化综合监管
  5. html位置插入透明动画文字,视频加移动水印 视频添加图片加文字水印 设置透明漂浮移动并控制显示时间...
  6. 基于python的公众号课堂教学_基于Python的微信公众号数据挖掘分析
  7. linux设置文件的权限为777
  8. python是商业组织吗_可以用Python做什么?
  9. java常用的中间件简介
  10. SpringBoot项目电脑商城项目实战(适合刚学完SpringBoot的初学者)