在 ant 中为 SonarQube 设置路径 JDK

Set path to JDK for SonarQube in ant

我一直在按照 https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Ant

中的说明设置一个 ant 脚本来 运行 SonarQube 分析

我的问题是,编译和构建过程是使用 Java 7u45 完成的。 JAVA_HOME设置为对应的JDK。

SonarQube 需要 JDK8 才能进行分析。我已将 JDK 8 复制到该服务器,但如果可能的话,如何在 ant 中指定它的路径供 SQ 使用?

只需将 JAVA_HOME 设置为 JDK 8,然后在您的 ant 脚本中调整 javac tasksourcetarget 属性 Java 7 如果你需要为 Java 7 编译,类似 :

<javac srcdir="${src}"
  destdir="${build}"
  fork="true"
  source="1.7"
  target="1.7"
/>

有关所有详细信息,请参阅 ant manual javac task

-编辑-
如果无法设置 JAVA_HOME,您可以通过批处理文件启动您的 ant 进程,设置 JAVA_HOME 和所有其他设置 f.e。 :

set ANT_HOME=C:\ant197
set ANT_ARGS=-lib C:\antxtralibs
set JAVA_HOME=C:\jdk180_121
set PATH=%JAVA_HOME%\bin;%ANT_HOME%\bin;%PATH%

:: default
ant -f %1

:: debug
:: ant -debug -f %1

-编辑-
对于 Jenkins,使用 https://yourjenkinshost/configure/Tools 并创建一个附加的 JDK 8,其中 JAVA_HOME 设置为此 JDK Folder/Installation.
的根 然后将您的特定作业配置为使用 JDK 8,而其他作业将使用您的默认值 JDK。