首页 > 解决方案 > 从 POM.xml 中选择的 Maven 不正确的 JIBX 版本

问题描述

我有一个在 JAVA 7 上运行顺利的 maven 项目,但最近我想将所有内容从 1.7 迁移到 JDK 1.8,但由于 JIBX 库,我已经开始收到错误跟踪。在一个类似的线程上:检查这个 StackOverflow 链接- 我发现只有 JIBX 1.3.0 或更高版本与 JDK 8 兼容。

因此,我在 POM.xml 中进行了以下更改:

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<ejb-compile.dependency.ant-nodeps.version>1.6.5</ejb-compile.dependency.ant-nodeps.version>
<jdk-home>${jdk16.home}</jdk-home>
<maven.ejb.skip>true</maven.ejb.skip>
<jaxp.version>1.3</jaxp.version>
<jibx.version>1.3.1</jibx.version>
<distributed.context.api.version>1.1.12</distributed.context.api.version>
<distributed.context.impl.version>1.1.12</distributed.context.impl.version>
<generic.context.version>0.1.2</generic.context.version>
<something.uf.version>2.5.9</something.uf.version>
<!-- JConnect -->
<jconnect.version>0.11.1</jconnect.version>
<jconnect.majorversion>0.11</jconnect.majorversion>

但是我得到了以下堆栈跟踪,我不知道它从哪里选择 jibx 1.2.2,如错误所示: 我还在我的工作区中搜索了 1.2.2 声明,但找不到任何东西,尝试了.m2 文件夹的 settings.xml 但仍然没有帮助。有人可以在这里提供任何线索吗?谢谢在此处输入图像描述在此处输入图像描述 在此处输入图像描述

编辑:POM.xml 的完整链接 - https://ideone.com/IfN9FK (有字符限制,所以我必须提供 ideone 链接,它以文本形式存在)

标签: javamavenjibxmaven-jibx

解决方案


声明 jib 依赖项时没有指定 jibx 版本:

<plugin>
  <groupId>org.jibx</groupId>
  <artifactId>maven-jibx-plugin</artifactId>
  <version>1.3.0</version> <!-- Here! -->
  <configuration>
    <directory>src/main/jibx</directory>
    <includes>
      <includes>*.xml</includes>
    </includes>
    <verbose>${jibx.verbose}</verbose>
  </configuration>
  <executions>
    <execution>
      <goals>
        <goal>bind</goal>
      </goals>
    </execution>
  </executions>
</plugin>

推荐阅读