【发布时间】:2012-03-14 08:47:29
【问题描述】:
我们的开发环境中出现了一种非常奇怪的行为,这与我们在不同操作系统上的所有开发人员一致。
我们在开发环境中有大约 20 多个 Maven (3.0.4) 项目,它们都是 Eclipse (Indigo) 中的开放项目,sonatype m2e (0.12.0) 像往常一样处理依赖项。 (m2e 1.0 给我们带来的问题多于解决方案)
在我们所有 20 多个项目中,一个项目表现得很奇怪。
在该项目上执行mvn clean install 时,即使 Maven 成功通过,它也会导致 4 个 java 文件(在单元测试中,如果有任何区别)在 Eclipse 中显示错误。
尽管打开文件并在错误的类引用上按 F3(打开声明)发现类没有问题,但错误属于“SomeNameOfClass 无法解析为类型”类型。
mvn clean 是问题所在,如果我们只运行 mvn install 这不会发生。
Eclipse 的项目 -> Clean 清除错误,一切正常。
这不是实际上阻止我工作或类似的操作问题,我可以解决它只需在 Eclipse 中清理,我只是讨厌每次都这样做时间,我无法忍受我的项目中的红色 X,即使它们没有效果。
我真的很好奇为什么会发生这种情况,为什么特别是这 4 个类?为什么为什么为什么? :)
【问题讨论】:
-
你能给出更多关于这些测试类的精度吗?是否有其他测试类的行为符合预期?他们有特定的路径吗?
-
如前所述,您应该提供更多详细信息。这些文件是否已生成?
-
文件是普通的java文件,不是生成的。它们以 Test 为后缀,并包含一些用 @Test 注释的方法,就像普通的 JUnit 类一样。被引用的类显示为
cannot be resolved to a type是抽象的 -
另外需要注意的是,虽然 java 文件 X 中的错误是
Y cannot be resolved to a type,但 Y 中没有错误。 -
您是否将项目导入为 Java 或 Maven 项目?您可以通过查看 Package Explorer 中的小项目图标来判断这一点:Java 右上角的 J 或 Maven 左上角的 M。