代码之家  ›  专栏  ›  技术社区  ›  Thorbjørn Ravn Andersen

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

  •  7
  • Thorbjørn Ravn Andersen  · 技术社区  · 6 年前

    我继承了一个Spring Booject项目,因为Java 9和10中添加了漂亮的特性,所以我们希望使用Java 11进行测试。 var List.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]
    

    由于依赖性不满足,我不能(至少在某种程度上我不能想到)让Maven告诉我 为什么? 它想这样做,所以我不知道该在哪里查找,而且这个项目一开始似乎没有引用JavaFX(作为一个SpringBoot微服务,这会让我有点吃惊)。所以这个问题。

    是什么引起的?我该怎么解决?


    正如karol正确推断的那样,这个问题以前曾出现过,修复方法是将hibernate验证器依赖项升级到一个新版本。我需要的只是将以下属性添加到我的父pom中:

        <!-- needed for building with Java 11 -->
        <hibernate-validator.version>6.0.12.Final</hibernate-validator.version>
    
    1 回复  |  直到 6 年前
        1
  •  6
  •   Karol Dowbecki    6 年前

    这可能是由于 HV-1644 Using Hibernate Validator with Java 11 brings JavaFX on the classpath 如果 org.hibernate.validator:hibernate-validator:jar:6.0.11.Final 是你依赖的一部分。更新到 6.0.12 或者更新的应该解决它。