从 POM.xml 中选取了 JIBX 的 Maven 错误版本

Maven incorrect version of JIBX getting picked from POM.xml

我有一个 运行 在 JAVA 7 上顺利运行的 Maven 项目,但最近我想将所有内容从 1.7 迁移到 JDK 1.8,但我开始收到错误跟踪,因为JIBX 库。在类似的线程上:Check this Whosebug link- 我发现只有 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 中尝试但仍然没有帮助。有人可以在这里提供任何线索吗? 谢谢

编辑:完整 Link 共 POM.xml - https://ideone.com/IfN9FK (有字符限制,所以我不得不提供 ideone link,它是文本)

您在声明 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>

对于 Java 1.8+,使用以下依赖项。它会工作正常。我验证了。

            <plugin>
                <groupId>org.jibx</groupId>
                <artifactId>maven-jibx-plugin</artifactId>
                <version>1.3.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>bind</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <directory>src/main/jibx-bindings</directory>
                    <includes>
                        <include>*binding*.xml</include>
                    </includes>
                    <verbose>true</verbose>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.bcel</groupId>
                        <artifactId>bcel</artifactId>
                        <version>6.3</version>
                    </dependency>
                </dependencies>
            </plugin>