【问题标题】:java.lang.UnsupportedClassVersionError: com/google/doclava/Doclava : Unsupported major.minor version 51.0 android buildjava.lang.UnsupportedClassVersionError:com/google/doclava/Doclava:不支持major.minor 51.0 android build
【发布时间】:2016-05-09 09:47:02
【问题描述】:

我正在尝试从谷歌来源通过自己的 AOSP 构建。我按照 Google 文档中提到的步骤进行操作,并成功地构建它并成功地用图像刷新我的设备。但是,在进行了一些更改后,我尝试再次构建它(基本上只是添加了一些日志来使用它)。构建出错了。然后我再次尝试make,它说Javac 1.6 found。需要 Javac 1.7。然后,我使用以下命令跟踪了这个特定问题的答案:

 update-alternatives --config javac
There are 2 choices for the alternative javac (providing /usr/bin/javac).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/bin/javac   1051      auto mode
* 1            /usr/lib/jvm/j2sdk1.6-oracle/bin/javac        315       manual mode
  2            /usr/lib/jvm/java-7-openjdk-amd64/bin/javac   1051      manual mode

然后我选择了选项 0。然后我再次尝试制作。这次它失败并出现以下错误:

java.lang.UnsupportedClassVersionError: com/google/doclava/Doclava : Unsupported major.minor version 51.0 android build

在浏览了这个问题的所有答案之后(我发现这个问题问了很多次),我发现这是因为编译时间(更高版本)和运行时间(更低版本)JDK不匹配,我应该使用重新编译它Java 1.7。我该如何为 android build 做到这一点?我也很惊讶为什么会收到错误“发现 Javac 1.6。需要 Javac 1.7”。因为我使用 Java 1.6 成功创建了构建。

【问题讨论】:

    标签: java android jvm unsupported-class-version


    【解决方案1】:

    在这种情况下,这不是 javac 的问题,而是 javadoc 的问题。 要检查它的版本:javadoc -J-version(是的,这很奇怪)。

    所以,你必须使用:

    update-alternatives --config javadoc
    

    【讨论】:

    • 感谢 Jacek 的回答。但不幸的是,我现在没有运行系统来检查这一点。非常抱歉目前无法检查并接受您的回答。
    • 谢谢,解决了我的问题:
    【解决方案2】:

    此错误表示您正在尝试加载一个 Java“类”文件,该文件是使用比您安装的新版本的 Java 编译的。

    例如,您的.class 文件可能已针对JDK 7 编译,而您正尝试使用JDK 6 运行它。

    所以解决方案是:

    • 升级您的 Java 运行时或
    • 如果您有源代码,请使用本地 Java 编译器(如果您有的话)重新编译该类。

      javac 文件名.java

    查看更多详情:How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version

    【讨论】:

    • 谢谢哈沙德。但是运行命令 :update-alternatives --config javac 后,它不应该与 Java 7 一起运行吗?
    • @AnkurBhatia 查看答案中的链接。
    • 另外,我的builder服务器中的java版本也是java 1.7。真的很困惑。
    • 谢谢哈沙德,我已经看到了那个答案。但问题是在 Android AOSP 的情况下,我无法编译单独的文件。我只能选择制作。现在应该使用 Java 1.7。还是我假设有问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 2017-04-17
    • 2015-10-28
    • 2015-01-22
    • 2014-03-17
    相关资源
    最近更新 更多