编译时出现“javac:不支持版本10”的错误提示。

3

我对Java编译一窍不通,想要为个人使用构建filebot

设置

我正在使用的构建脚本是从这里获取的:

@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 Toolset、Apache Ant、Apache Ivy和JDK 9.0.4(因为原始的filebot已经停止使用JDK 8)。将Ant/bin文件夹添加到用户路径中,并将ivy.jar复制到该文件夹中。还设置了JAVA_HOME为jdk文件夹。
值得注意的是,我之前有jre9.0.4,并在其上安装了jdk。经过一些搜索,发现jre也会将一些文件复制到System32文件夹中,解决方法是将jdk/bin文件夹作为Path变量中最顶层的条目。但这并没有解决错误。
错误
我面临的主要问题是,在下载依赖项后,在编译阶段期间,我得到以下输出:
[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>

我在谷歌上找不到关于“版本10不受支持”的相关信息,而且也没有安装jdk 10。

javac -version的输出为javac 9.0.4

我对Java编译非常新手,可能会错过一些细节。提前致谢 :)

1个回答

3

正如我所想,我错过了一些微不足道的东西。filebot已经转移到jdk 10,这就是为什么在我尝试使用jdk 9编译时会显示错误的原因。

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


请详细说明“源代码的目标JDK” - 我该如何找到它? - notacorn
@notacorn,字面上来看,错误显示目标JDK:“版本xyz不受支持”。您需要在系统中安装该JDK版本“xyz”。 - iamkroot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接