`
wangzhi_821
  • 浏览: 15285 次
  • 来自: ...
社区版块
存档分类
最新评论

Eclipse开发过程中,运行时候找不到class文件的解决方法

阅读更多

最近在使用Eclipse时候,出现一个简单的问题:

问题虽然简单却让人头疼,各位看官,且移步随在下一看!

 

1.在Eclipse编辑器中已经存在java文件,并且类已经定义(假设类名为ShMonth)。

2.使用new ShMonth()创建了ShMonth对象,并且通过编译,并没有出错;

3.但是在引用的时候,控制台去提示找不到class文件的错误。

 

 

本人经过多次重新编译,都没有任何效果。一直报同样的错误。

 

郁闷中,经过认真研究发现问题原因如下:

首先,由于ShMonth类是本人定义在其他类文件中的一个内部类。而内部类在编译以后形成一个单独的类文件:xxxx$ShMonth.class(其中xxxx为ShMonth类所在的文件的名称);

 

其次,在Eclipse编译文件的时候,会检查java文件(xxxx.java)的最后修改时间。如果Eclipse发现存在与xxxx.java相匹配的class文件xxxx.class,并且java文件在xxxx.class形成之后没被修改过。那么Eclipse就会默认xxxx.class文件为最新的,所以将不会编译。

 

这样,问题开始出现!Eclipse编译包含内部类的xxxx.java文件时候,只将xxxx.java文件与xxxx.class文件进行了比较,如果文件没有改动,就不再重新编译。但是,虽然xxxx.java文件虽然没有改动,而xxxx$ShMonth.class文件却丢失了,由于并没有对xxxx$ShMonth.class进行比较,所以Eclipse将还会默认xxxx.java文件已经编译过,不需要重新编译。

 

于是,问题就产生了!也就是每次在运行期间将找不到xxxx$ShMonth.class文件。

 

解决方法:大家不妨对文件做一些修改,比如在某一行加上一个空格,让Eclipse重新编译即可!

分享到:
评论

相关推荐

    maven2 plugin for eclipse

    如果在这个目录找不到此jar包。它回从网上下载这个jar包,放到此目录。以后再用到此jar就不用下载 了。 2。就是项目部署。就是我们在上例中 选择pom.xml 然后选择运行,Goal 设成package,然后我们发现生成一个 test...

    joc eclipse plugin

    注2:如果在Eclipse中找不到Jocky插件,请删除 Eclipse安装目录/configuration/org.eclipse.update 文件夹 (Maybe an eclipse bug?)。 2.4 如何使用符号保留指令 除了在命令行用 -scramble 参数控制符号混淆...

    Android插件框架Android-Plugin-Framework.zip

    2、支持在插件中通过R文件使用宿主程序中的资源,暂不支持插件资源文件中直接使用宿主程序中的资源。但是支持间接使用。 例如在上述“已支持的功能”6中描述的,实际就是间接使用。 后续需要解决的问题: ...

    开发项目用SWING与RCP与SWT.JFACE的分析

    首先要在Eclipse安装文件中找到SWT包,Eclipse组织并不提供单独的SWT包下载,必须下载完整的Eclipse开发环境才能得到SWT包。SWT是作为Eclipse开发环境的一个插件形式存在,可以在${你的eclipse安装路径}\plugins...

    java反编译exe文件 java软件反编译

    java反编译exe文件 java...UuDeJava是JavaClass文件的反编译工具。未编译的Java源程序输出到与Class相同的目录。内部使用jad.exe。解译类文件时,可以直接单击类文件(关联后),或者选择快捷方式将文件或目录发送到uuD

    springmvc+spring+mybatis+maven示例_1.0

    工程名ssmm表示:springmvc+spring+mybatis+maven ...打包时注意,先运行Maven-clean,再运行Project-clean,再运行Maven-package,我本地Eclipse运行Maven-clean后,class文件没有拷贝到target/class文件夹中

    新版Android开发教程.rar

    也有分析认为,谷歌并不想做一个简单的手机终端制造商或者软件平台开发商,而意在一统传统互联网和 移 动互联网。----------------------------------- Android 编程基础 4 Android Android Android Android 手机新...

    JAVA上百实例源码以及开源项目

     Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像...

    Java编程经验

    这样希望大家不至于迷惑为什么总报错找不到类文件,不管是自己写的还是导入的第三方的jar文件(J2ee中经常需要导入的)。 3. 关于jdk和jre?? 大家肯定在安装JDK的时候会有选择是否安装单独的jre,一般都会一起安装...

    New of GWT Introduction--GWT开发快速入门

    GWT的类中很少提供访问页面元素样式属性的方法,我们可以直接在CSS文件中通过对应的样式名称来设置页面元素的默认显示效果。比如使用 .gwt-Button { font-size: 150%; } 使用Button元素的默认显示效果。 3. 宿主模式...

    java 混淆工具,不可逆 jocky 也许是最好的了

    注2:如果在Eclipse中找不到Jocky插件,请删除 Eclipse安装目录/configuration/org.eclipse.update 文件夹 (Maybe an eclipse bug?)。 2.4 如何使用符号保留指令 除了在命令行用 -scramble 参数控制符号混淆级别...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    本书是第II卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...

    基于java实现的数据库管理系统.7z

    1.执行过程思路:先根据sql语法把sql字符串切割成各个有效部分,把其相应的封装到运行时实体中, 相当于把.java编译成了.class,再读取dbf文件,执行实体对dbf文件内容进行相应的操作,相当于 类加载执行,实现sql...

    Google Android SDK开发范例大全(完整版)

    例如,如果应用程序需要访问网络 — 例如为了下载一个文件 — 那么 manifest 文件中必须显式地列出该许可。很多应用程序可能启用了这个特定的许可。这种声明式安全性有助于减少恶意应用程序损害设备的可能性。 下...

    java源码包---java 源码 大量 实例

     Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像...

    SOY Framework框架Java RCP编程(一)--配置开发环境

    下载(http://www.soyframework.com)已经配置好的空项目,此空项目包括empty-client (以下简称示例client项目)、empty-server (以下简称示例server项目),并将它们导入到Eclipse中。如果Eclipse的Problems标签下...

    java源码包2

     Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像...

Global site tag (gtag.js) - Google Analytics