我从“mvn clean install”(mvn全新安装)中收到以下错误
第一个月
我假设这是一个依赖性问题,并且在构建路径的某个地方有另一个CompletionType示例。我已经检查过不是这样的,并且也尝试了一个空的~/.m2/repository。
我试着重命名有问题的软件包,但这并不能解决问题。我只是在两行上都得到了相同的错误。
我在pom.xml中的依赖项不应该包含一个包含这些类的lib。
我曾尝试在另一个开发人员的计算机上重现此问题,但没有出现此问题。
我在我的两台计算机上看到了这个问题。这些计算机有很多环境是同步的,所以我并不奇怪这个问题也是同步的。但是在我的办公室计算机上,我可以在IntelliJ中成功地执行“mvn安装”,但不能在命令行上。在我的家庭计算机上,我在命令行和IntelliJ中都遇到了这个问题。
我尝试过用Google搜索这个问题,但是一旦我从构建中删除了特定于我的项目的文本,我就没有足够具体的东西可以搜索了。
pom.xml可在以下位置找到:
http://anonsvn.jboss.org/repos/labs/labs/jbosstm/trunk/txframework/framework/pom.xml
是的,我知道这是一个JBoss软件包,问题发生在其中。我为JBoss工作,这是我的代码,所以我不能让他们修复它;-)
谢谢.
3条答案
按热度按时间kt06eoxx1#
这是由此版本的Oracle JDK中编译器的注解处理中的错误引起的:
第一个月
它也出现在同等的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),则有解决方法。
更多细节可以在bug报告中找到,我正在使用它来跟踪这个问题:
https://issues.jboss.org/browse/JBTM-997
5sxhfpxr2#
编辑:我重新组织了这个答案,因为它的主要目的是提供一个解决方案来发现问题,而不是解决问题。这些元素是按照我在评论或这里发布的顺序添加的。
1.这不是一个常规的依赖性问题,因为如果你改变类的名称,它就会消失。
1.它可能与java版本有关。请尝试显式设置source和target。
1.它可以是一个错误地存在于你的依赖结构中的jar,试试这个:把它添加到你的pom中:
字符串
调用clean install,然后在shell上尝试以下命令(在项目的基本路径中,而不是dist目录中):
型
这样你就可以看到类路径上有多少个RequestType的表示,也许你可以看到错误的表示来自哪里。
1.可能你的类的正确版本已经存在了,但是产生问题的类(ServiceRequest.java)编译错了。把它们放在同一个类路径中,然后再试一次。
1.你的磁盘上有这个类的旧版本吗?试着删除它(如果你仍然需要它,可以把它移到便携式设备上)。
1.手动删除类路径中的所有二进制文件。不要依赖于“mvn clean”。
1.打印出maven使用的classpath(google会告诉你怎么做),检查一下是否有你不希望看到的东西。
1.(模糊)通过使用UTF的更模糊的特性,可以创建两次相同的目录。如果您的路径包含非ASCII字符,并且其中一台机器是Mac(真的,不是开玩笑。对于德语能力:http://www.danisch.de/blog/2011/11/18/wer-unicode-und-utf-erfunden-hat-gehort-erschlagen/),就会发生这种情况。
1.你检查过你的环境变量是否设置正确了吗?仔细检查一下。
1.电话:
mvn清理mvn编译
然后看看你有多少违规类的示例。
8iwquhpp3#
工作空间也很干净:)