`
iamlotus
  • 浏览: 108065 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Eclipse compiler的一个bug

阅读更多

<!--StartFragment--> <!--EndFragment-->

以下程序用javac编译运行后没有问题,正确输出 0 1,而在eclipse中报错后直接挂了

public class Construct {

    public static void main(String[] args) {
        Construct$1 c1 = new Construct$1();
        System.out.println(c1.value());

        C c = new C() {

            @Override
            public int value() {
                return 0;
            }
        };

        System.out.println(c.value());
    }
}

abstract class C {
    public abstract int value();
}

class Construct$1 {
    public int value() {
        return 1;
    }
}

 

其实对比下编译结果就能看出原因,在程序中已经有个Construct$1的情况下,javac知道那个匿名内部类的编译名应该为Construct$2。而eclipse build-in compiler貌似没作这个检查,所以在eclipsebin路径上只有Construct$1一个输出,跑起来自然杯具。

 

<!--StartFragment--> <!--EndFragment-->

测试环境 mac java 1.7.0_45,  eclipse版本为Version: Juno Service Release 2Build id: 20130225-0426

0
0
分享到:
评论

相关推荐

    eclipse离线插件compiler反编译jar包进行debug调试

    在这个场景中,我们使用的插件是"decompiler_1.0.3",它是一个Eclipse插件,专门用于帮助用户反编译class文件。 安装该插件的方法通常是通过Eclipse的内置软件更新功能,但由于是离线环境,我们需要手动下载解压...

    intellij-bug-eclipse-compiler-warnings:https 的示例项目

    标题 "intellij-bug-eclipse-compiler-warnings:https 的示例项目" 指向的是一个关于在 IntelliJ IDEA 中使用 Eclipse 编译器时遇到警告问题的项目。描述提到,该项目展示了在使用 javac(Java 编译器)与 Eclipse ...

    zookeeper-3.4.6 eclipse

    Apache ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终将简单易用的接口和性能高效、功能稳定的系统提供给...

    eclipse最佳设置

    **Eclipse最佳设置详解** Eclipse是一款广泛应用的开源集成开发环境(IDE),尤其在Java开发者中备受青睐。...通过对这些设置的优化,我们可以创建一个高效、个性化的开发环境,提升开发体验和工作效率。

    eclipse ALT+ /自动提示 失效解决方法

    在开发过程中,Eclipse 的自动提示功能是非常实用的一个工具,能够显著提高编程效率。但是有时候我们会遇到 ALT+/ 快捷键对应的自动提示功能突然失效的情况,这可能会对我们的开发工作造成一定的困扰。本文将详细...

    Eclipse开发android应用

    在深入解析如何使用Eclipse开发Android应用之前,首先需要理解几个关键概念和步骤。本知识点将基于提供的文件信息,详细阐述使用Eclipse进行Android应用开发的过程,包括环境搭建、项目创建、配置与调试等环节。 ##...

    eclipse maven3插件

    Eclipse Maven3插件,全称为Maven Integration for Eclipse(简称m2e),是Eclipse IDE中的一个核心插件,用于支持Apache Maven项目构建和管理工具。它将Maven的强大功能无缝集成到Eclipse环境中,使得开发人员可以...

    详细品味eclipse性能优化

    以上就是对"Eclipse性能优化"的详细解析,通过这些策略,开发者可以打造出一个更加高效、流畅的开发环境。实践中,要根据具体情况进行调整,不断试验和优化,找到最适合自己的设置。记住,每个小改进都能累积成显著...

    JAL compiler-开源

    5. `jal.spec.in`:这可能是一个RPM打包规范文件,用于在Linux系统上创建JAL Compiler的软件包。 6. `stamp-h.in`:这是一个用于标记头文件更新的文件,通常在编译过程中使用。 7. `aclocal.m4`:这是Autoconf的宏...

    javase阶段bug解决笔记

    - 补码的一个关键特点是真值0只有一个编码,而原码和反码中0都有两种表示(正0和负0),这会导致一些问题。 **1.3 补码示例** - **8位字节表示**: - `+127` 的补码表示为 `01111111` - `-128` 的补码表示为 `...

    eclipse与tomcat、weblogic远程调试小结(windows系统)

    - 创建一个新的`Remote Java Application`配置。 - 在`Project`字段中选择你的项目。 - 在`Connection`部分,填入远程服务器的IP地址和调试端口(如8000)。 - 确保勾选`Use all breakpoints`,以便捕获所有断点...

    joc eclipse plugin

    在Eclipse中使用Jocky也非常简单,任何一个Java工程,选中工程通过右键菜单,都可以出现Jocky的快捷菜单: 在Eclipse中的右键菜单&gt; 在Eclipse中的属性设置&gt; 事实上,在Eclipse中使用Jocky时,...

    关于java编译过程中的bug说明

    本文将重点讨论一个特定的错误——"The method ... must override a superclass method",并提供相应的解决策略。 这个错误通常发生在尝试覆盖父类的一个方法,但是Java编译器发现该方法的签名并不符合Java的多态性...

    ecplice-lombok_1.18.12.zip

    Lombok 1.18.12是该工具的一个版本,可能包含了一些性能优化和bug修复。 在Java开发中,编写getter和setter等样板代码是一项繁琐的工作。Lombok的目标就是消除这种冗余,让开发者能够专注于核心业务逻辑。其工作...

    x86_64-w64-mingw32-gdb-7.1.90.20100730.zip

    MinGW,全称为Minimalist GNU for Windows,是一个可自由使用且开源的Windows兼容API的实现,提供了一套完整的GCC(GNU Compiler Collection)工具链,使得开发者可以在Windows下使用GCC进行开发。而mingw64是MinGW...

    Override错误已解决

    在进行 Java 开发的过程中,特别是在使用 Eclipse 这样的集成开发环境(IDE)时,开发者可能会遇到一个常见的问题:`Override` 错误。这种错误通常发生在尝试覆盖父类中的方法时,而 IDE 或编译器未能正确识别该操作...

    C++ 编译调试环境离线安装包MinGW+gdb+libexpat

    MinGW是GNU Compiler Collection(GCC)在Windows平台上的一个移植版本,提供了g++编译器,用于将C++源代码编译为可执行程序。它还包括其他的工具,如make,用于自动化构建过程,以及头文件和库,使得开发者可以在...

    SpringBoot项目制作成exe安装包.docx

    在开发过程中,为了方便非技术人员部署和使用SpringBoot项目,将其制作成exe安装包是一个实用的选择。本文档将详细介绍如何将一个已完成的SpringBoot项目打包成exe安装包的过程。 #### 二、准备工作 在开始制作exe...

    apache-maven-3.8.7

    Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM),能够管理项目的构建、报告和文档,简化软件开发过程。Maven 3.8.7 是该工具的一个特定版本,...

    MinGW绿色免安装

    MinGW(Minimalist GNU for Windows)是一个开源项目,旨在为Windows平台提供一套完整的GNU工具集,包括GCC(GNU Compiler Collection)编译器、GDB调试器等,使得开发者能够在Windows环境下编写、编译和调试C、C++...

Global site tag (gtag.js) - Google Analytics