2012-12-07 23 views
0

当前,我的部署工作流涉及手动(即在脚本中)cd到每个maven项目目录并运行mvn install。问题在于本地资源,即我编写并正在积极开发/维护的其他内部代码,我不知道如何告诉maven在失踪时自己构建这些资源。理想情况下,每次我需要重新打包顶层应用程序时,它都会重建任何依赖于至少有一个文件被修改的库。maven - 自动构建本地依赖关系

+0

你是不是使用多模块'pom',即父母和孩子的继承特征? – mtk

+0

相关:http://stackoverflow.com/questions/2890341/maven-module-vs-project-eclipse-m2eclipse-plugin – Brian

回答

3

如果您的(多模块)项目使用其他内部资源,实际需要的可能不是始终重建所有这些资源,而是使用本地maven存储库。它可以是一个简单的存储库,其中使用ssh或HTTP传输(请参阅deploy plugin)或者真实工件管理器(例如ArchivaArtifactoryNexus)部署资源。

存储库管理器不仅仅保存已部署的工件,还可以在相应版本发布后清除过时的快照,并作为其他存储库(包括中央)的本地高速缓存。

+0

另外,我只是微观分解了我的Maven项目 - 将几个组合成一个Lib给了我合理的UOR与...合作。 – djechlin

1

有一个包含所有模块的父级POM。当您构建父代时,所有属于父代POM文件一部分的模块也将被构建。

只要你的孩子有父母,你就可以从父母继承很多东西。

0

考虑设置Jenkins来自动构建您的代码。詹金斯有一个有用的功能,将重建依赖于新建的文物的项目。构建可以通过简单地提交代码自动触发。

如果你使用的几个开发机器(或者在一个团队工作)相结合詹金斯与Nexus(其他选项:ArtifactoryArchiva)提供一个通用的商店共享的工件。这些工具是为支持Maven构建而设计的。