m2eclipse不显示工作区项目依赖项,但显示传递依赖项

时间:2011-04-06 13:12:07

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

我遇到了m2eclipse的问题。

我使用Eclipse 3.6.2,m2eclipse 0.12.1和m2extras用于subclipse 0.12.0和wtp 0.11.1。

我有项目A(罐子包装),B(罐子)和C(战争)。我的工作区中有三个,本地或远程仓库中有 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?

3 个答案:

答案 0 :(得分:2)

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

.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可以正确设置项目。

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:0)

好吧,我已经删除了我的工作区,再次签入了项目,现在项目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 App Libraries中。我相信当我从SVN检查可能触发Maven的新代码时,“动态Web模块”方面可能不会出现。更新项目配置。

此外,我现在使用版本0.12.0版本的m2extras for wtp。