Warum suchen einige Maven-Deps nach der falschen Java-Version?
Posted: 17 Jan 2025, 11:11
Ich erstelle ein Projekt mit Maven 3.9.9 auf Mac Sequoia und erhalte diese Fehlermeldung:
Beim Durchsuchen der POM-Dateien für diese Version stimmt der Pfad mit der Abhängigkeitsversion in der Vorlage am Ende der POM-Datei überein.
Ich sollte Java 17 ausführen. In der Befehlszeile sehe ich:
Der POM im Projektstamm hat:
Brauen betrachten:
und innerhalb von ./openjdk sehe ich:
Openjdk 23 scheint also installiert zu sein.
Beim Versuch, die Zusammenhänge zu verstehen, scheint es, dass dependencies.dependency.systemPath ist eine Systemeigenschaft, die festgelegt wird. Das ist nur meine derzeit beste Vermutung. Ich habe keine Ahnung, warum es auf Java 23 eingestellt ist, und ich weiß nicht, wie ich es ändern oder überprüfen kann.
Code: Select all
...(internal dep chain)...
-> org.glassfish.hk2:hk2-locator:jar:2.4.0-b31 (compile)
=> org.javassist:javassist:jar:3.18.1-GA (compile)
'dependencies.dependency.systemPath' for com.sun:tools:jar refers to a
non-existing file
/opt/homebrew/Cellar/openjdk/23.0.1/libexec/openjdk.jdk/Contents/Home/../lib/tools.jar
Code: Select all
${java.home}/../lib/tools.jar
Code: Select all
java -version => openjdk version "17.0.12" 2024-07-16
javac -version => javac 17.0.12
Code: Select all
17
Code: Select all
> brew list
openjdk
openjdk@11
openjdk@17
openjdk@21
Code: Select all
/opt/homebrew/Cellar/openjdk/22.0.2
/opt/homebrew/Cellar/openjdk/23
/opt/homebrew/Cellar/openjdk/23.0.1
Beim Versuch, die Zusammenhänge zu verstehen, scheint es, dass dependencies.dependency.systemPath ist eine Systemeigenschaft, die festgelegt wird. Das ist nur meine derzeit beste Vermutung. Ich habe keine Ahnung, warum es auf Java 23 eingestellt ist, und ich weiß nicht, wie ich es ändern oder überprüfen kann.