Maven正在调用哪个类?

时间:2014-03-25 19:58:12

标签: java maven intellij-idea

我正在查看我在IntelliJ中构建的内部Maven应用程序(在Eclipse中的结果相同),并且一切看起来都非常干净。

我运行干净并从IntelliJ编译(使用IntelliJ构建或使用IntelliJ Maven支持),一切都编译好。

但是当我从命令行运行构建时(mvn clean compile)我得到了构建异常(见下文)。

命令行似乎正在寻找一个泛化参数(使用""方法),我们确实正确地传递了它。然而,它抱怨我们传递的是非通用参数。

显然命令行上的mvn正在使用"的另一个版本"方法比IntelliJ。

有没有办法让Maven告诉我它所使用的类的哪个版本,包含jar,工件和包含jar的版本?

这是准确的错误

[ERROR] \dev\try-deploy-1\src\main\java\com\victor\webui\WebUserInterface.java:[147,47] 
attribute(java.lang.String,org.hamcrest.Matcher<java.lang.String>) in 
org.openqa.selenium.lift.Matchers cannot be applied to 
(java.lang.String,org.hamcrest.Matcher<java.lang.Object>)

2 个答案:

答案 0 :(得分:1)

你有可能在某个地方有另一个版本的课程吗?尝试在文件中的新行添加注释,以便行号更改,并重新运行maven编译,以查看它是否仍然为错误提供相同的行号。

答案 1 :(得分:1)

在Eclipse中,抱歉,我知道您使用的是IntelliJ,maven构建通常会进行离线构建,这就是为什么它如此之快。有一种方法可以强制它用所有的罐子做清洁,然后当我进入一个绑定时我会使用它。它是Update Project命令,它有一个框来强制更新快照和版本。也许Intellij有类似的东西?此外,我将验证您在命令行上使用的版本与IntelliJ使用的版本相同(我安装了几个版本)。您可以在IntelliJ和

中查看设置

mvn -v

命令行上的

。最后,我要确保您用于命令行和IntelliJ的settings.xml文件是同一个文件。

祝你好运。