我对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编译非常新手,可能会错过一些细节。提前致谢 :)