2010-04-19 45 views
3

我正在使用m2eclipse来管理eclipse中的maven项目。看起来,在我以前使用的版本(0.9.8)中,工作空间分辨率根本无法工作,但现在它也不能像我所期望的那样工作。也就是说,如果未检查项目的“依赖于工作区的解决方案”设置,项目将变为红色并且无法构建。该消息说:工件xxx x.y-SNAPSHOT无法在本地存储库(或某种程度上)中找到。麻烦的是,m2eclipse将关于工作区项目的信息放入我的本地仓库中。 有没有办法改变这种行为?m2eclipse工作区分辨率

P.S.解决方法是关闭xxx项目,然后m2eclipse将依赖项解析为先前在本地存储库(即非快照版本)中的任何版本。

PS2截图显示了我在当地的回购协议:

  • 在Eclipse的Maven回购神器的问题

alt text http://img96.imageshack.us/img96/1498/mvnrepos.png

  • 文件系统的版本

alt text http://img155.imageshack.us/img155/2999/versions.png

  • 什么是快照目录:

alt text http://img72.imageshack.us/img72/120/snapshotq.png

回答

2

看来,在以前的版本,我用(0.9.8)的工作区决议并没有在工作所有的,但现在它也不像我预期的那样工作。

这不是我所经历的。我有一个对另一个项目的依赖和当前正在使用的工作空间分辨率的项目:

alt text http://img180.imageshack.us/img180/9454/screenshot007l.png

如果我取消从工作区解析相关项目(下属性>的Maven),并应用更改,我的构建路径变为:

alt text http://img704.imageshack.us/img704/8869/screenshot007zh.png

的依赖变成二进制依赖预期。

+0

也许问题是我在POM中使用版本范围......我会重新评估这个。 从命令行启动mvn时会使用哪个版本? – 2010-04-26 07:14:00

+0

@Bartosz与捕获,1.0-SNAPSHOT相同的版本。但的确,你的问题可能是由于版本范围。我无法证实这一点,我不使用版本范围,他们创造了比他们解决IMO更多的问题(依赖解决方案,构建可重复性等)。 – 2010-04-26 07:35:02

+0

不,我的意思是,它是从工作区(可能是远程)存储库或版本的版本?恕我直言,问题仍然是m2eclipse将有关工作区项目的信息放入本地maven回购。至于范围:一切都有其优点和缺点。到目前为止(在升级m2eclipse之前)版本范围有更多优点。 – 2010-04-26 08:04:08

0

好的,现在我的答案是降级到版本0.9.8,其中插件不会混淆本地回购。