首页 > 解决方案 > Thorntail 示例/API 不兼容

问题描述

尝试在 github 上打包thorntail-examples 项目时,构建失败的几个示例说明类似于此的 API 不兼容错误...

[ERROR] Failed to execute goal io.thorntail:thorntail-maven-plugin:2.3.0.Final-SNAPSHOT:package (package) on project example-stm: Execution package of goal io.thorntail:thorntail-maven-plugin:2.3.0.Final-SNAPSHOT:package failed: An API incompatibility was encountered while executing io.thorntail:thorntail-maven-plugin:2.3.0.Final-SNAPSHOT:package: java.lang.AbstractMethodError: null
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>io.thorntail:thorntail-maven-plugin:2.3.0.Final-SNAPSHOT
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/home/<user>/.m2/repository/io/thorntail/thorntail-maven-plugin/2.3.0.Final-SNAPSHOT/thorntail-maven-plugin-2.3.0.Final-SNAPSHOT.jar
[ERROR] urls[1] = file:/home/<user>/.m2/repository/io/thorntail/fraction-metadata/2.3.0.Final-SNAPSHOT/fraction-metadata-2.3.0.Final-SNAPSHOT.jar
[ERROR] urls[2] = file:/home/<user>/.m2/repository/io/thorntail/meta-spi/2.3.0.Final-SNAPSHOT/meta-spi-2.3.0.Final-SNAPSHOT.jar
[ERROR] urls[3] = file:/home/<user>/.m2/repository/org/jboss/shrinkwrap/descriptors/shrinkwrap-descriptors-impl-javaee/2.0.0/shrinkwrap-descriptors-impl-javaee-2.0.0.jar
...

如果我删除其中一个依赖项,问题就会消失,例如对于jpa/jpa示例,当我尝试按原样构建时收到 API 不兼容错误,但如果我删除 h2 依赖项,它会清除错误。

我自己的项目也有类似的问题,添加 h2 或休眠会导致 API 不兼容错误,但如果我忽略这两个,应用程序运行良好。

有没有其他人遇到过这个问题?

标签: javamaventhorntail

解决方案


正如https://issues.jboss.org/browse/THORN-2229中所跟踪的,Thorntail 目前不能很好地与 Maven 3.6 配合使用。建议的解决方法是暂时切换回 Maven 3.5。


推荐阅读