【问题标题】:m2eclipse does not show workspace project dependencies but shows transitive dependenciesm2eclipse 不显示工作区项目依赖项,但显示传递依赖项
【发布时间】:2011-04-06 13:12:07
【问题描述】:

我在使用 m2eclipse 时遇到问题。

我将 Eclipse 3.6.2、m2eclipse 0.12.1 和 m2extras 用于 subclipse 0.12.0 和 wtp 0.11.1。

我有项目 A(jar 包装)、B(jar) 和 C(war)。我在我的工作区中拥有所有三个,而在本地或远程仓库中 NOT (仔细检查)。 C 依赖于 A 和 B。A 依赖于某些库(例如 X 和 Y),B 依赖于其他一些库(例如 P、Q 和 R)。 C 过于依赖外部库(比如 U、V、W)。 Eclipse 在“Maven Dependecies”中向我展示的内容如下:

A
- Maven Dependencies
  + (jar icon) X
  + (jar icon) Y

B
- Maven Dependencies
  + (jar icon) P
  + (jar icon) Q
  + (jar icon) R

C
- Maven Dependencies
  + (jar icon) U
  + (jar icon) V
  + (jar icon) W
  + (jar icon) X
  + (jar icon) Y
  + (jar icon) P
  + (jar icon) Q
  + (jar icon) R

这是一个问题,因为在项目 C 中,Eclipse 不知道项目 A 和 B 中的代码。我希望 C 的项目设置看起来像这样

C
- Maven Dependencies
  + (jar icon) U
  + (jar icon) V
  + (jar icon) W
  + (jar icon) X
  + (jar icon) Y
  + (jar icon) P
  + (jar icon) Q
  + (jar icon) R
  + (folder icon) A
  + (folder icon) B

最糟糕的是,在我最近使用来自 SVN 的最新代码更新项目之前,C 的项目设置看起来应该如此,但现在却没有。而且我记得之前遇到过这个问题,但我不记得我是如何解决的。

我还有另一个项目 - 带有 jar 包的 D,它在项目资源管理器中显示如下:

D
- Maven Depenedencies
  + (jar icon) X
  + (jar icon) Y
  + (jar icon) I
  + (jar icon) J
  + (folder icon) A

这种情况有什么补救措施?我不记得我以前做了什么。也许我是从头开始安装 Eclipse 的?

【问题讨论】:

  • 您是否在项目的“属性”->“Maven”部分中检查了“解决来自工作区项目的依赖项”?
  • @reef 当然。如果我取消选中它,那么来自 A 和 B 的所有依赖项都将丢失,只剩下 U、V 和 W。

标签: eclipse maven m2eclipse dependency-management eclipse-wtp


【解决方案1】:

我遇到了同样的问题。团队中有人签入了以下配置文件:

.settings/org.eclipse.wst.common.component
.settings/org.eclipse.wst.common.project.facet.core.xml
.settings/org.eclipse.wst.jsdt.ui.superType.container
.settings/org.eclipse.wst.jsdt.ui.superType.name

在我删除它们后,m2eclipse 可以正确设置项目。

【讨论】:

  • 我现在才看到你的回答。您可能非常正确,我会给您接受的答案。但是看看我对实际发生的事情的回答。
【解决方案2】:

我遇到了同样的问题。我希望我的相关项目出现在 Maven Dependencies 下,带有蓝色文件夹图标,而不是 jar 图标,表明这些项目在 Eclipse 中相互引用,而不仅仅是从我的本地 Maven 存储库链接到它们的 jar .

我通过在 Eclipse 中打开 POM、重新排序依赖项并保存解决了这个问题。 M2Eclipse 重新处理了依赖关系并修复了所有问题。我不确定它为什么起作用,但确实起作用了。

在此操作之前,我还删除了 Eclipses 项目的 repo 文件夹,其中不受欢迎的 JAR 来自这些文件夹。之后事情仍然没有工作,所以我不知道这是否与上述修复工作的原因有关。

【讨论】:

    【解决方案3】:

    好吧,我已经删除了我的工作区,再次签入项目,现在项目 A 的设置显示如下:

    C
    - Maven Dependencies
      + (jar icon) U
      + (jar icon) V
      + (jar icon) W
      + (jar icon) X
      + (jar icon) Y
      + (jar icon) P
      + (jar icon) Q
      + (jar icon) R
    - Web App Libraries
      + (jar icon) R
      + (jar icon) V
      + (jar icon) X
      + (jar icon) W
      + (jar icon) Y
      + (jar icon) P
      + (jar icon) U
      + (jar icon) Q
      + (folder icon) A
      + (folder icon) B
    

    看起来依赖项目现在显示在 Web 应用程序库中。我相信当我从 SVN 签入可能触发 Maven > 更新项目配置的新代码时,“动态 Web 模块”方面可能不存在。

    现在我也为 wtp 使用 0.12.0 版的 m2extras。

    【讨论】:

      猜你喜欢
      • 2014-05-23
      • 1970-01-01
      • 2013-02-10
      • 2016-04-15
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      相关资源
      最近更新 更多