eclipse中的Maven依赖性问题

eclipse中的Maven依赖性问题,eclipse,maven,dependencies,Eclipse,Maven,Dependencies,我在eclipse的工作区中打开了多个相关项目。其中一个项目对另一个项目的输出jar具有maven依赖性。在这个项目中,对依赖项中的类的任何引用总是显示为红色(未识别),并且我没有看到它们的代码完成或javadoc。如果我手动将jar添加到类路径,那么我就不再有这个问题了。问题是,我不想每次修改版本时都手动添加jar,这就是Maven的目的。有没有办法解决这个问题?对我来说这似乎是一个bug,但我不确定…正确的方法如下: 确保安装了m2e或m2eclipse(取决于您的Eclipse版本):

我在eclipse的工作区中打开了多个相关项目。其中一个项目对另一个项目的输出jar具有maven依赖性。在这个项目中,对依赖项中的类的任何引用总是显示为红色(未识别),并且我没有看到它们的代码完成或javadoc。如果我手动将jar添加到类路径,那么我就不再有这个问题了。问题是,我不想每次修改版本时都手动添加jar,这就是Maven的目的。有没有办法解决这个问题?对我来说这似乎是一个bug,但我不确定…

正确的方法如下:

  • 确保安装了
    m2e
    m2eclipse
    (取决于您的Eclipse版本):
  • 只使用POM文件中的dependencies部分,不要篡改Eclipse项目引用。右键单击项目,然后选择Maven>Update project Configuration以将项目重置为Maven默认设置。这样,m2e就拥有了依赖项的所有权
  • 如果没有该选项,则可能需要启用项目以供Maven使用。右键单击项目,然后单击Maven>EnableWorkspace Resolution或Maven>EnableDependency Management
  • 确保所有引用的项目都在Eclipse中打开,并且启用了Maven特性
  • 检查每个项目的Maven设置,确保groupId、artifactId和version与您在Eclipse中打开的项目匹配。因此,如果您所依赖的项目在Eclipse中具有1.0.0-SNAPSHOT版本,请确保依赖项目的POM文件引用dependencies部分中的1.0.0-SNAPSHOT版本
  • 为每个项目启用工作区解析。右键单击项目,然后单击Maven>EnableWorkspace Resolution
  • 最后,如果项目仍未解决,请再次右键单击该项目,然后单击Maven>Update Dependencies

这应该可以解决您的问题。

我也遇到了同样的问题,通过右键单击项目并从关联菜单中选择Maven->Disable Workspace Resolution解决了问题。我已经尝试过如上所述从POM文件更新项目。

为了解决这个问题,通常可以从工作项目中复制Eclipse.classpath文件,因为假设您是标准Maven项目,这里没有任何特定于项目的内容。这将告诉Eclipse允许Maven管理依赖项和构建。从EclipseUI似乎没有简单的方法来实现这一点。

配置了工作区解析Eclipse?