代码之家  ›  专栏  ›  技术社区  ›  iamkroot

编译期间“javac:不支持发布版本10”

  •  3
  • iamkroot  · 技术社区  · 6 年前

    在这里完成noob到Java的编译。想要构建 filebot 供个人使用。

    安装程序

    我使用的构建脚本是 here :

    @echo off
    cd /D %~dp0
    set PATH=%WIX%\bin;%PATH%
    
    if not defined JAVA_HOME (set JAVA_HOME=C:\Program Files\Java\jdk-9.0.4)
    
    echo Downloading dependencies...
    call ant resolve
    
    echo:
    
    echo Compiling...
    call ant fatjar
    
    echo:
    
    echo Building MSI installer...
    call ant msi
    
    if not defined WORKSPACE pause
    

    我已经安装了WiX工具集、Apache Ant、Apache Ivy和JDK 9.0.4(因为最初的filebot已经停止使用JDK 8)。将Ant/bin文件夹添加到用户路径,并复制了ivy。jar到该文件夹。还将JAVA\u HOME设置为jdk文件夹。

    值得注意的是,我之前有jre9.0.4,并在此基础上安装了jdk。通过google搜索,发现jre还将一些文件复制到System32文件夹,补救方法是将jdk/bin文件夹作为路径变量中的最上面的条目。但这并没有解决这个错误。

    错误

    我面临的主要问题是,在下载依赖项之后,在编译阶段,我得到以下输出:

    [javac] Compiling 395 source files to D:\Misc\filebot\build
    [javac] javac: release version 10 not supported  // I believe this is the culprit
    [javac] Usage: javac <options> <source files>
    [javac] use --help for a list of possible options
    
    BUILD FAILED
    

    在此之后,msi构建也会失败。相关 build.xml 部分为:

    <javac srcdir="${dir.source}" destdir="${dir.build}" release="${jvm.version}" encoding="utf-8" debug="yes" debuglevel="lines,vars,source" includeAntRuntime="no">
        <classpath>
            <fileset dir="${dir.dist}/lib" />
        </classpath>
    </javac>
    

    我找不到有关 version 10 not supported 部分在谷歌,也没有安装jdk 10。

    javac -version 给予 javac 9.0.4

    我对Java编译非常陌生,可能遗漏了一些琐碎的东西。TIA:)

    1 回复  |  直到 6 年前
        1
  •  2
  •   iamkroot    4 年前

    正如我所想,我错过了一些琐碎的事情。filebot已经迁移到jdk 10,这就是为什么在我尝试使用jdk 9编译时显示错误的原因。

    因此,对于任何面临类似问题的人,请确保您正在构建的源代码的目标JDK与您的开发工具包版本相同。