由于"不兼容的类型",mvn安装失败

Pau*_*son 5 maven-3 maven

我从"mvn clean install"收到以下错误

[ERROR] /private/tmp/framework/src/main/java/org/jboss/narayana/txframework/api/annotation/transaction/WSBA.java:[21,65] incompatible types found : org.jboss.narayana.txframework.api.configuration.transaction.CompletionType required: org.jboss.narayana.txframework.api.configuration.transaction.CompletionType [ERROR] /private/tmp/framework/src/main/java/org/jboss/narayana/txframework/api/annotation/service/ServiceRequest.java:[32,56] incompatible types found : org.jboss.narayana.txframework.api.configuration.service.RequestType required: org.jboss.narayana.txframework.api.configuration.service.RequestType [INFO] 2 errors

我假设这是一个依赖性问题,并且在某个构建路径中有另一个CompletionType实例.我已经检查过这不是这种情况,并尝试使用空的〜/ .m2 /存储库.

我已经尝试重命名违规包的包,这不能解决问题.我只是在两行上使用新包名称得到了相同的错误.

我在pom.xml中的依赖项不应该包含一个包含这些类的lib.

我试图在另一个开发人员的计算机上重现这个问题,但问题不会发生.

我在两台电脑上看到了这个问题.这些计算机有很多环境同步,所以我也不会惊讶于问题也在同步.但是在我的办公室计算机上,我可以在Intellij中成功完成"mvn install",但不能在命令行上执行.在我的家用计算机上,我在命令行和IntelliJ中都遇到了这个问题.

我已经尝试过谷歌来解决这个问题,但是一旦我从构建中删除了特定于我的项目的文本,我就没有足够的特定内容来搜索.

pom.xml可以在这里找到:

http://anonsvn.jboss.org/repos/labs/labs/jbosstm/trunk/txframework/framework/pom.xml

是的,我知道这是一个JBoss包,​​其中出现问题.我为JBoss工作,这是我的代码,所以我无法让他们修复它;-)

谢谢.

Pau*_*son 3

这是由于该版本的Oracle JDK中编译器的注释处理中的一个bug引起的:

java version "1.6.0_27" Java(TM) SE Runtime Environment (build 1.6.0_27-b07) Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode)

它也出现在等效的 mac 版本中,在发布时是最新版本。

我通过切换到此版本的 OpenJDK 解决了该问题:

java version "1.6.0_22" OpenJDK Runtime Environment (IcedTea6 1.10.4) (fedora-60.1.10.4.fc15-x86_64) OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

如果您无法切换 JDK(例如,如果您有 Mac),可以采取解决方法。

更多详细信息可以在我用来跟踪此问题的错误报告中找到:

https://issues.jboss.org/browse/JBTM-997