Maven clean+构建导致Eclipse中的项目显示错误,直到Eclipse中的clean为止



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

我们在开发环境中有大约20多个Maven(3.0.4)项目,它们都是Eclipse(Indigo)中的开放项目,具有与往常一样处理依赖关系的Sonateype m2e(0.12.0)。(m2e 1.0给我们带来的问题比解决方案更多)

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

错误的类型是"SomeNameOfClass无法解析为类型",尽管打开文件并在错误的类引用上按F3(打开声明)可以找到没有问题的类。

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

Eclipse的Project->Clean清除了错误,一切正常

这是而不是一个实际阻止我工作的操作问题或类似问题,我可以通过在Eclipse中清理来解决它,我只是讨厌每次都这样做,我无法忍受项目中的红色X,即使它们没有效果。

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

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

mvn eclipse:clean
mvn clean install
mvn eclipse:eclipse

现在可以在Run configurationRefresh选项卡下指定项目完成后需要刷新。您必须选中Refresh resources upon completion并选择下面的行为。

我发现在maven中有一个jar作为'test'作用域会导致"未解析类型"错误,除了将其从pom文件中的测试范围中删除之外,我还没有发现任何其他方法可以修复它。

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

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

选择Java构建路径选项和Source选项卡。

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

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

错误应该已经消失!

最新更新