使用maven的多个部署存储库

时间:2011-06-02 23:56:49

标签: maven

我有一个源代码存储库,我使用maven。通常我想将项目部署到内部存储库,所以我在父POM中有这个存储库。但是,我还需要在每个项目POM中声明此存储库,以便项目可以找到父POM(只有版本相同时,父POM的相对路径才有效)。

有时我想将代码交给另一方。它需要最终进入他们的maven存储库。但是,我的所有POM都引用了我的内部存储库,这似乎不合适。有没有一种方法可以将我的内部存储库从我对另一方的部署中隐藏起来?

我可以使用配置文件(我想要部署到的存储库的内部和外部配置文件)来处理这个问题,但是,我需要为每个项目创建一个配置文件而不仅仅是父POM,这很痛苦。也许这是最好的解决方案呢?

1 个答案:

答案 0 :(得分:2)

您可以在父pom中定义存储库URL属性(例如,$ {repository.deploy})。还可以在父pom(如local和foriegn)中创建配置文件,这将为此属性分配不同的值。

在所有子项目pom文件中,使用父定义的属性作为存储库URL。这样,另一方可以通过在父级别使用不同的配置文件来切换存储库URL。这回答了你的问题了吗?