在这里完成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(因为原始文件机制已经停止使用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>
我在Google上找不到关于version 10 not supported
部分的任何相关信息,也没有安装jdk 10。
javac -version
提供javac 9.0.4
我是Java编译的新手,可能错过了一些微不足道的东西。 TIA:)
答案 0 :(得分:2)
正如我想的那样,我错过了一些微不足道的事情。 filebot已移至jdk 10,这就是我尝试使用jdk 9编译时显示错误的原因。
因此,对于遇到类似问题的任何人,请确保您构建的源的目标jdk与开发套件版本相同。