【问题标题】:Maven local repository in CVS?CVS 中的 Maven 本地存储库?
【发布时间】:2011-06-23 07:13:21
【问题描述】:

我想将我的 CVS 用作 maven 存储库.. 有人可以提供建议吗?

【问题讨论】:

  • 你为什么要这样做?
  • @Raghuram:把所有东西都放在一个地方。结帐/构建/完成。这使您可以完全控制网络+独立性。

标签: version-control maven repository cvs


【解决方案1】:

有两种方式:

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。

【讨论】:

  • 感谢您的解释.. 我想了解更多关于货车的信息.. 你能详细说明一下吗.. 我有 2 个项目,每个项目有 3 个模块.. 你能给我建议什么吗
【解决方案2】:

出于多种原因,我不会将依赖项放在像 CVS 这样的 SCM 系统中。

  • 每次更新 pom 中的依赖项时,都需要手动添加相应的依赖项 jar - 与 maven 预期的文件夹结构完全相同。

  • 您需要担心传递依赖,它可能会让人不知所措。

  • 由于这些依赖关系不会改变(除非它们是 SNAPSHOTS),因此 SCM 对它们来说太过分了。每次有新版本的依赖项时,它都需要位于不同的文件夹结构中。

如果您想控制依赖关系,您可以使用repository manager 创建自己的maven mirror。它们通常使用一些内容管理库来存储依赖项,并且可以备份/存档。

在相关说明中,Maven Wagon SCM Provider 可用于将项目发布到 SCM,但尚未使用基于 SCM 的远程存储库进行测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 2011-03-25
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多