当前位置: 首页 > 面试题库 >

Eclipse如何创建具有未解决的编译问题的类?

简学文
2023-03-14
问题内容

当我尝试使用javac编译此类时,出现编译错误,并且未创建Test.class。

public class Test {
    public static void main(String[] args) {
        int x = 1L;  // <- this cannot compile
    }
}

但是当我在Eclipse中创建此类时,我可以看到Test.class出现在目标/类中。当我尝试使用java.exe从命令行运行此类时,我得到了

线程“主” java.lang.Error中的异常:未解决的编译问题:
类型不匹配:无法从long转换为int

Eclipse是否使用自己的特殊Java编译器来创建损坏的.class?java.exe如何知道.class中的编译问题?


问题答案:

这就是Java编译器如何知道类中的编译错误的方式。

public static void main(String[] paramArrayOfString)
{
    throw new Error("Unresolved compilation problem: \n\tType mismatch: cannot convert from long to int.\n");
}

如果对类文件进行反编译,则可以看到main()编译器已生成的类文件的上述方法。这是因为的编译器,其使用的Eclipse( Eclipse的Java编译器 )是不一样的标准Java编译器!



 类似资料:
  • 当我尝试用javac编译这个类时,我得到一个编译错误,并且没有创建test.class。 但是当我在Eclipse中创建这个类时,我可以看到test.class出现在target/classes中。当我尝试使用java.exe从命令行运行该类时,我会得到 线程“main”java.lang.error中出现异常:未解决的编译问题: 类型不匹配:无法从long转换为int Eclipse是否使用它自

  • 问题内容: “ java.lang.Error:未解决的编译问题”的可能原因是什么? 附加信息: 从现有JAR顶部的版本复制一组更新的JAR文件并重新启动应用程序后,我已经看到了这一点。JAR是使用Maven构建过程构建的。 如果接口更改,我希望看到LinkageErrors或ClassNotFound错误。上面的错误提示存在一些较低级别的问题。 彻底的重建和重新部署解决了该问题。此错误是否表明J

  • 我试图用VS代码在Java中实例化一个单例类。每次编译器接触函数时,它都会抛出一个“未解决的编译问题”。 我尝试创建另一个单例类,同样的错误也适用。我认为这可能是Java编译器的一些问题,所以我进行了一些调试。日志在之前,但它们出现了。这个问题只发生在独生子女身上。 在主课堂上: 在GameManager类中: 我希望得到GameManager的实例,相反,它在“public static Gam

  • 我正在尝试用VS代码实例化Java中的一个单例类。每当编译器触及该函数时,它就会抛出一个“未解决的编译问题”。 我尝试创建另一个Singleton类,但同样的错误也适用。我想这可能是Java编译器的问题,所以我在前面放了几个debug.log,但它们出现了。这个问题只与单身人士有关。 在主类中: 在GameManager类中: 我希望得到GameManager的实例,但它在“public stat

  • 我是Java开发新手,不熟悉各种导入(Maven、Git等),所以我简单地说: 这两个没有在代码中解决我正在检查,我不知道我应该采取什么样的行动,也不知道我应该导入什么来解决它,但它可能是一些流行的库。 是否有完整的指南指导开发人员如何在eclipse中导入包(例如,C#开发人员使用Nuget,尽管有大量手工制作的包),或者他们真的使用所有这些巨大的导入选择器?

  • 我尝试用创建react app。它给了我以下错误: