在eclipse中,maven依赖项覆盖了项目依赖项

时间:2011-11-22 18:21:35

标签: java eclipse maven

我有一个使用多个“模块”的“主项目”。这些模块位于pom.xml中,但我也将模块的代码作为Eclipse中的项目。我在“属性|项目引用”和“属性| Java构建路径”中将模块定义为项目依赖项。我还确保所有Eclipse项目都位于Java Build Path中的“Order and Export”的顶部。

主项目无法识别eclipse中模块的更改。当我按F3查看代码时,它会从我的.m2目录中打开java源代码。这显然忽略了我的Eclipse项目。我错过了一些设置吗?我该怎么办?

3 个答案:

答案 0 :(得分:6)

您不需要将依赖项目添加到Project引用中(至少在使用m2eclipse-plugin时),只需将它们作为依赖项添加到主服务器的pom.xml中。自从我开始在Eclipse中使用Maven以来,我没有必要触及Build路径。

通过右键单击项目根目录,确保已启用插件的工作区解析 - > Maven - >启用工作区解析。如果显示“禁用工作空间分辨率”,则表示已启用。您可能还需要在同一菜单下运行“更新项目配置”。

这样,当您从Eclipse中运行主项目时,对其他项目所做的任何更改都将对主服务器“可见”(并且您甚至可以在运行时使用热交换,甚至可以在其他项目上使用)。 p>

答案 1 :(得分:3)

如果您正在使用Maven,那么您非常想要使用Maven。即使您使用特定于Eclipse的依赖项配置Eclipse,只要您使用Maven更新项目配置,它就会完全重写您的配置。

我强烈建议您将任何其他项目构建依赖项转换为可用作Maven依赖项的Maven项目。

在您的特定情况下(通过使用Maven模块),这意味着确保将每个模块作为m2e启用项目导入Eclipse。然后,m2e将自动连接模块和其他相关项目之间的依赖关系。

答案 2 :(得分:0)

我为什么需要将您的模块定义为顶级项目的依赖项而烦恼。您是否试图避免在模块级别定义(交叉)依赖项?在任何情况下,根据其他建议,首先将您的依赖项放在POM中的正确位置,然后运行

mvn eclipse:clean eclipse:eclipse

更新您的Eclipse设置,或者更好的是,确保已安装m2eclipse并将您的maven项目直接导入IDE。