2010-04-01 80 views
3

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

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

我在做什么错? 感谢您的帮助!

回答

0

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

2

Maven项目的Eclipse中的配置由m2eclipse的从包含在多金属氧酸盐,所以如果你有两个项目,ProjectAProjectB,和你想有ProjectBProjectA依赖,你需要声明ProjectB作为元数据导出这样在ProjectA即POM添加依赖关系:

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

如果你想依赖于工作区项目(而不是通过本地存储库中的神器),ProjectA右键单击然后去个属性>的Maven,并确保您从工作区项目选择解决依赖关系如下图所示:

alt text http://img530.imageshack.us/img530/98/screenshot001do.png

+0

嗨,谢谢你的明确解释。我已经取得了进展,但仍然存在问题。我按照你的说法做了,现在我可以看到何时在pom中添加对本地项目的依赖关系,可以看到项目文件夹图标弹出到“Web App Libraries”文件夹中,并且它的一些依赖项(jar)是还补充说。但是,我无法点击库并查看类,并且我的项目仍然无法运行,因为它找不到类。是否还有其他事情需要完成才能使课程可用? – chrismarx 2010-04-01 17:02:11

+1

此外,我重新在本地代码项目上运行maven-package命令,并且生成的jar快照确实有类 - 有什么建议吗? – chrismarx 2010-04-01 17:04:08

1

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

+0

因此,包括外部项目在没有打开“解决工作区依赖关系”的情况下工作得很好,使用普通的Java EE Module Dependencies和Java Build Path。唯一的问题是,在对pom.xml进行任何更改或重建其他配置文件后,Maven将删除这些引用。 我的解决方案是为配置文件问题创建一个自定义运行配置文件,因此我不需要使用其他配置文件在本地清理/构建,但对pom.xml的更改仍然意味着我必须手动重新添加依赖项:( – chrismarx 2010-11-05 00:09:40