【发布时间】:2014-02-14 01:57:39
【问题描述】:
此问题是对以下问题的回答的结果: Injection of an autowired field failed in a multi-module Maven project - NoSuchBeanDefinitionException
根据上述问题的答案,我配置了我的 Maven 模块的以下结构:
在这种情况下,基础模块中的 Foo 类可以在模块 A 中的测试中使用(例如,当它使用 IFoo 接口自动装配时),但不能在生产代码中使用(包含在 src /主/java)。
当有人在生产代码(在 src/main/java 下)的模块 A 中的类中添加对 Foo 类的引用时,Maven 构建失败。但是,在这种情况下,Eclipse 中的自动构建不会失败,因为我使用了启用了 Workspace Resolution 的 m2eclipse 插件。我必须运行 maven build (mvn clean install) 才能看到编译失败。之后,在 Eclipse 中受影响的类中仍然不能立即看到该错误。我必须在受影响的 java 类中进行更改(例如,添加空格并保存文件),然后我可以在此类中看到错误。然而,更令人误解的是,Eclipse 中显示的编译错误与真正的编译错误无关。 - 编译错误显示在错误行之后的下一行。
我不想禁用 m2eclipse 插件中的 Workspace Resolution,以便始终使用最新的源代码进行 Eclipse 的编译。但是,最好在 Eclipse 中立即看到这样的编译错误,而不必为了在 Eclipse 中看到编译错误而执行 Maven 构建。
是否可以在 Eclipse 编译后立即看到编译错误?
【问题讨论】:
标签: java eclipse maven m2eclipse