3

我在 eclipse 中有一个 spring mvc 项目,它的设置是使用 maven。我可以解决所有外部依赖项,但现在我想在我的工作区中包含另一个本地项目。通常,我会通过 java 构建路径执行此操作,并添加项目引用。但如果我手动执行此操作,m2eclipse 只会从我的类路径文件中删除这些引用。

我假设这是因为 maven 想要处理所有依赖项。所以我在本地项目(我想包含的源文件)上启用了依赖项管理,现在当我添加依赖项时,这个项目会显示出来,并将其添加为 jar 类型(这是正确的)。我还运行了 maven-package 来创建源项目的快照。但是 jar 永远不会添加到 maven 库列表中,并且项目不会构建,因为它找不到类。

我究竟做错了什么?谢谢您的帮助!

4

3 回答 3

2

Eclipse 中的 Maven 项目的配置是由 M2Eclipse 从 POM 中包含的元数据派生的,因此如果您有两个项目,ProjectA并且ProjectB,并且您想要ProjectB作为 的依赖项ProjectA,您需要ProjectB在 ie 的 POM 中这样声明ProjectA以添加依赖:

<dependency>
  <groupId>group.id.of.b</groupId>
  <artifactId>project-b</artifactId>
  <version>1.2.3-SNAPSHOT</version>
</dependency>

如果您想依赖工作区中的项目(而不是通过本地存储库依赖于工件),请右键单击然后ProjectA转到Properties > Maven并确保您选择了Resolve Dependencies from Workspace 项目,如下所示:

替代文字 http://img530.imageshack.us/img530/98/screenshot001do.png

于 2010-04-01T08:17:29.553 回答
1

不能再发表评论了,但是在做了更多阅读之后,似乎“解决工作区依赖关系”只有在这些项目也由 Maven 管理的情况下才有效。如果你想添加一个不在 maven 中的本地项目怎么办?

于 2010-11-01T18:57:37.570 回答
0

您可能需要在 WTP 项目的 pom.xml 中添加本地项目(使用它的 pom.xml artifactId)作为依赖项,并打开 Workspace Dependency resolution?

于 2010-04-01T00:19:45.863 回答