当前位置: 首页 > 知识库问答 >
问题:

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出现在target/classes中。当我尝试使用java.exe从命令行运行该类时,我会得到

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

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

共有1个答案

吴胜涝
2023-03-14

这就是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 compiler for Java)与标准Java编译器不同!

 类似资料:
  • 问题内容: 当我尝试使用javac编译此类时,出现编译错误,并且未创建Test.class。 但是当我在Eclipse中创建此类时,我可以看到Test.class出现在目标/类中。当我尝试使用java.exe从命令行运行此类时,我得到了 线程“主” java.lang.Error中的异常:未解决的编译问题: 类型不匹配:无法从long转换为int Eclipse是否使用自己的特殊Java编译器来创

  • 问题内容: “ 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,尽管有大量手工制作的包),或者他们真的使用所有这些巨大的导入选择器?

  • 我刚开始使用visual studio代码,正在编写我的第一个basic程序。当我打字时 它告诉我“线程中的异常”main“java.lang.Error:未解决的编译问题:at Variable.main(Array.java:3)” 如果我删除类变量前面的“public”,它就会工作。为什么?