Code: Select all
mvn clean install
#2 SONAR -SCAN mit JDK 11 (
Code: Select all
mvn sonar:sonar
Um #2 auszuführen, muss Maven JDK 11 verwenden, während #1 Maven JDK 1.8 verwenden muss.
Nachdem ich verschiedene Fragen dazu gelesen hatte, bin ich auf 'Toolchain' gestoßen. >
Code: Select all
jdk
1.11
sun
C:\construction\tools\jdk-11.0.12
jdk
1.8
sun
C:\Program Files\Java\jdk1.8.0_191
hinzugefügt
Code: Select all
org.apache.maven.plugins
maven-toolchains-plugin
1.1
toolchain
1.11
sun
[Info] --- Maven-Toolchains-Plugin: 1.1: Toolchain (Standard) @ treesurveyapi --- = 'sun' Version = '1.11']
[info] Found Matching Toolchain für Typ JDK: JDK [C: \ construction \ Tools \ Jdk-11.0.12] < /p>
[info] --- Maven-Compiler-Plugin: 3.7.0: kompilieren (Standardkompile) @ treesurveyapi ---
[Info] Toolchain in Maven-Compiler-Plugin: Jdk [c: \ construction \ tools \ jdk -11.0.12]
[info] Änderungen erkannt - das Modul neu kompiliert! : \ construction \ xxx \ xyz-main \ target \ classes < /p>
< /blockquote>
Es scheint, dass Maven zusammen mit Toolchain Java 11 verwendet, um den Code zu kompilieren, um den Code zu kompilieren .javap -verbose Abc.class | findstr "major"
< /code>
Hier sind meine Fragen: < /p>
#1
Im obigen Fall, da Toolchain auf Java 11 zeigt, sollte das nicht die Code mit Java 11 kompiliert werden? Warum verwendet es Java 8?