【问题标题】:Changing compiler version in JAVA Eclipse results in alternating errors在 JAVA Eclipse 中更改编译器版本会导致交替错误
【发布时间】:2013-12-18 11:14:08
【问题描述】:

在 JAVA Eclipse 中,当我在 Package Explorer 中右键单击项目时,选择 Java Compiler,并将“Compiler compliance level”、“Generated .class files compatibility”和“Source compatibility”设置为 1.6,我得到当我尝试运行我的程序时出错:

"Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    Multi-catch parameters are not allowed for source level below 1.7
    at cs567.hw10.BinTree.makeTopology(BinTree.java:204)
    at cs567.hw10.SmallParsimony.main(SmallParsimony.java:93)"

但是当我按照相同的程序,但将三个条件设置为 1.7 时,当我尝试运行我的程序时,我得到一个不同的错误:

"Exception in thread "main" java.lang.UnsupportedClassVersionError: cs567/hw10/SmallParsimony : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:698)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:315)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)"

我没有使用命令行的经验;这就是我使用 Eclipse GUI 的原因。谢谢你的任何建议。

【问题讨论】:

  • cs567/hw10/SmallParsimony 是您有源代码的课程,还是在您的讲师提供的 jar 文件中?

标签: java eclipse error-handling runtime-error


【解决方案1】:

基本上,这两个错误的组合意味着当您要在 Java 7 之前的 Java 版本上运行代码时,您不能使用 multi-catch - 即 catch (Exception1 | Exception2 | Exception3 e)

要么将你正在运行的 JRE 更新到 Java 7,要么避免使用 Java 7 的特定部分。(早期的 VM 可能很好地支持一些其他语言功能,例如“菱形运算符”;我还没有对此进行了详细分析。)

【讨论】:

    猜你喜欢
    • 2014-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多