我在eclipse中有一个spring mvc项目,它的设置是使用maven。我可以解决所有外部依赖项,但现在我想在我的工作区中包含另一个本地项目。通常,我会通过java构建路径执行此操作,并添加项目引用。但是,如果我手动执行此操作,m2eclipse只会从我的类路径文件中删除这些引用。
我假设这是因为maven想要处理所有依赖项。因此,我在本地项目(我想要包含的源文件)上启用依赖项管理,现在当我添加依赖项时,此项目会显示,并将其添加为jar类型(这是正确的)。我还运行了maven-package来创建源项目的快照。但是jar永远不会添加到maven库列表中,并且项目不会构建,因为它无法找到类。
我做错了什么? 谢谢您的帮助!
答案 0 :(得分:2)
Eclipse中Maven项目的配置是由M2Eclipse从POM中包含的元数据派生的,所以如果你有两个项目,ProjectA
和ProjectB
,你想拥有ProjectB
作为ProjectA
的依赖关系,您需要在ProjectB
的POM中声明ProjectA
,即添加依赖项:
<dependency>
<groupId>group.id.of.b</groupId>
<artifactId>project-b</artifactId>
<version>1.2.3-SNAPSHOT</version>
</dependency>
如果您想依赖工作区中的项目(而不是依赖本地存储库中的工件),请在ProjectA
上右键单击,然后转到属性&GT; Maven 并确保您选择了从Workspace项目中解析依赖项,如下所示:
alt text http://img530.imageshack.us/img530/98/screenshot001do.png
答案 1 :(得分:1)
不能再发表评论,但在做了一些阅读之后,似乎只有那些项目也由Maven管理时,“Resolve Workspace Dependencies”才有效。如果你想添加一个不在maven中的本地项目怎么办?
答案 2 :(得分:0)
您可能需要将本地项目(使用它的pom.xml artifactId)作为WTP项目的pom.xml中的依赖项添加,并启用Workspace Dependency解析?