多模块项目的maven依赖

时间:2014-01-10 06:11:28

标签: java maven dependencies

我和maven有一个奇怪的问题。

我正在运行一个包含多个模块的dropwizard项目。

项目   - > ServiceModule1   - > ServiceModule2   - > ModelsModule   - > TestModule

所有模块都依赖于测试模块,所有服务模块都依赖于模型模块。

我正在使用测试jar来分发测试模块,因为所有的灯具都在那里。

所以当我打包我的项目时,我会这样做:

cd testModule
mvn jar:test-jar
cd ..
mvn package

这很好用,除非它意味着每次我想要打包我的项目我都要运行所有的测试。如果我切换到

mvn package -Dmaven.test.skip=true

我失败了,因为我的模块开始在maven central中查找它们的依赖jar。

这真是令人沮丧,因为测试依赖于数据库,我不想在每个Web服务器上安装数据库。

“正确”设置应该是什么?

1 个答案:

答案 0 :(得分:0)

要明确的是,如果您的ServiceModule1想要依赖ModelsModule,您可以分两步构建它,

$ cd ModelsModule
$ mvn clean install
$ cd ..
$ cd ServiceModule1
$ mvn clean package

请在第2步中注明install

换句话说,并非所有lib都必须位于maven中心。但强制要求所有这些都应该在您当地的回购中。 install是一个可以将lib安装到本地仓库的目标。

现在这个link将向您展示如何将测试jar安装到您的本地仓库。