是什么让Maven想要使用Zulu Java 11的openjfx而不是Zulu Java 8的Spring Boot项目?

Tho*_*sen 11 java javafx maven azul-zulu java-11

我继承了一个Spring Boot项目,我们希望使用Java 11进行测试,因为Java 9和10(varList.of(...))中添加了很好的功能.

Maven项目分为几个部分,其中为Java 8设置了生产代码,以及Java 11的测试代码.这在模块基础上可以很好地单独工作,全局构建与Java 8一起工作(测试失败除外)编译)和Java 10.

现在我想使用Java 11从根目录编译所有内容,因为这是LTS(Zulu,因为这是在Windows 10上),并且出于某种原因,Maven现在想要引入org.openjfx:javafx.base:jar:11.0. 0-快照

[INFO] Building mumble-data-service-parent 1.0.0-SNAPSHOT              
[1/8]
[INFO] --------------------------------[ pom ]---------------------------------
[WARNING] The POM for org.openjfx:javafx.base:jar:11.0.0-SNAPSHOT is missing, no dependency information available
[INFO]
Run Code Online (Sandbox Code Playgroud)

由于依赖关系不满意,我不能(至少不是我能想到的方式)让Maven告诉我为什么要这样做所以我不知道在哪里看,而且该项目似乎没有引用javafx in第一个地方(作为一个让我感到惊讶的Spring Boot微服务).因此这个问题.

是什么导致它,我该如何解决?


正如Karol正确推导出的这个问题之前已经出现过,修复是将hibernate验证器依赖项升级到更新版本.我需要的只是将以下属性添加到我的父pom中:

    <!-- needed for building with Java 11 -->
    <hibernate-validator.version>6.0.12.Final</hibernate-validator.version>
Run Code Online (Sandbox Code Playgroud)

Kar*_*cki 13

这可能是由HV-1644引起的.如果org.hibernate.validator:hibernate-validator:jar:6.0.11.Final是依赖项的一部分,使用带有Java 11的Hibernate Validator会在类路径上引入JavaFX.更新6.0.12或更新应该解决它.

  • @ThorbjørnRavnAndersen可能是`org.hibernate.validator:hibernate-validator:jar:6.0.11.Final:compile`按照[HV-1644使用Hibernate Validator with Java 11将JavaFX带到类路径](https:// hibernate. atlassian.net/browse/HV-1644).请添加你的`pom.xml`. (3认同)