我们的开发环境中出现了一种非常奇怪的行为,这与我们在不同操作系统上的所有开发人员一致。
我们在开发环境中有大约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个类呢?为什么为什么? :)
答案 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,然后单击删除,然后单击应用。
再次使用添加文件夹选项添加相同(已删除)的节点,然后单击应用并关闭按钮。
错误应该已经消失!