【发布时间】:2011-06-23 07:13:21
【问题描述】:
我想将我的 CVS 用作 maven 存储库.. 有人可以提供建议吗?
【问题讨论】:
-
你为什么要这样做?
-
@Raghuram:把所有东西都放在一个地方。结帐/构建/完成。这使您可以完全控制网络+独立性。
标签: version-control maven repository cvs
我想将我的 CVS 用作 maven 存储库.. 有人可以提供建议吗?
【问题讨论】:
标签: version-control maven repository cvs
有两种方式:
a) 如果您只想在一个项目中使用它,请在顶层放置一个“repo”目录。比在 maven 约定中添加 jars(文件夹/artifactid/version/artifactif-version.jar 中的 groupid)。 要将其用作存储库,请在您的 pom 中声明一个基于文件的存储库。
<repositories>
<repository>
<id>some-repo</id>
<name>some-repo</name>
<url>file://${basedir}/repo</url>
<releases>
<checksumPolicy>ignore</checksumPolicy>
</releases>
</repository>
</repositories>
如果你从模块 pom 中使用它,你必须使用相对于你的模块 pom 的 url。
b) 如果您想将它用于多个项目,则有所谓的“货车”。 svn 有一个。这些 maven 插件让您可以使用 SCM 作为存储库。不知道有没有cvs-wagon。
【讨论】:
出于多种原因,我不会将依赖项放在像 CVS 这样的 SCM 系统中。
每次更新 pom 中的依赖项时,都需要手动添加相应的依赖项 jar - 与 maven 预期的文件夹结构完全相同。
您需要担心传递依赖,它可能会让人不知所措。
由于这些依赖关系不会改变(除非它们是 SNAPSHOTS),因此 SCM 对它们来说太过分了。每次有新版本的依赖项时,它都需要位于不同的文件夹结构中。
如果您想控制依赖关系,您可以使用repository manager 创建自己的maven mirror。它们通常使用一些内容管理库来存储依赖项,并且可以备份/存档。
在相关说明中,Maven Wagon SCM Provider 可用于将项目发布到 SCM,但尚未使用基于 SCM 的远程存储库进行测试。
【讨论】: