Maven clean + build导致Eclipse中的项目在Eclipse中清除之前显示错误

时间:2012-03-14 08:47:29

标签: java eclipse maven

我们的开发环境中出现了一种非常奇怪的行为,这与我们在不同操作系统上的所有开发人员一致。

我们在开发环境中有大约20多个Maven(3.0.4)项目,它们都是Eclipse(Indigo)中的开放项目,其子类型m2e(0.12.0)像往常一样处理依赖项。 (m2e 1.0给我们带来的问题多于解决方案)

在我们所有20多个项目中,一个项目表现得很奇怪。 在该项目上执行mvn clean install时,即使Maven成功通过 ,也会导致4个java文件(在单元测试中,如果有任何区别)在Eclipse中显示错误。

错误的类型为“SomeNameOfClass无法解析为类型”,尽管打开文件并在错误的类引用上按F3(打开声明)会发现该类没有问题。

mvn clean是问题,如果我们只是运行mvn install这不会发生。

Eclipse的项目 - > Clean清除错误,一切正常。

这是操作问题,实际上阻止我工作或类似的事情,我可以解决它只需在Eclipse中清理,我只是讨厌这样做时间,我不能忍受我的项目中的红色X,即使它们没有效果。

我真的很好奇为什么会发生这种情况,为什么特别是那4个类呢?为什么为什么? :)

4 个答案:

答案 0 :(得分:22)

我们前一段时间遇到过完全相同的问题。我们有超过20个项目给出了同样的错误。根据我们的调查,我们得出结论,当maven clean install运行时,eclipse会丢失对类文件的跟踪,并认为其中一些是未定义的。 我们的解决方案是在命令行发出以下命令:

mvn eclipse:clean
mvn clean install
mvn eclipse:eclipse

答案 1 :(得分:0)

现在可以在Refresh的{​​{1}}标签下指定项目完成时需要刷新。您必须检查Run configuration并选择以下哪种行为。

答案 2 :(得分:0)

我发现在maven中有一个jar作为“测试”范围会导致“未解决的类型”错误,除了将其从pom文件中的测试范围中取出之外,我发现的其他任何方法都无法解决。 / p>

答案 3 :(得分:0)

如果要通过UI消除错误,请执行以下步骤:

在Eclipse中选择您的项目,然后执行 ALT + ENTER 或右键单击项目-> 构建路径->配置构建路径

选择 Java构建路径选项和 Source 标签。

选择显示错误的节点,例如src / main / java,然后单击删除,然后单击应用

再次使用添加文件夹选项添加相同(已删除)的节点,然后单击应用并关闭按钮。

错误应该已经消失!