我和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服务器上安装数据库。
“正确”设置应该是什么?
答案 0 :(得分:0)
要明确的是,如果您的ServiceModule1想要依赖ModelsModule,您可以分两步构建它,
$ cd ModelsModule
$ mvn clean install
$ cd ..
$ cd ServiceModule1
$ mvn clean package
请在第2步中注明install
,
换句话说,并非所有lib都必须位于maven中心。但强制要求所有这些都应该在您当地的回购中。 install
是一个可以将lib安装到本地仓库的目标。
现在这个link将向您展示如何将测试jar安装到您的本地仓库。