【问题标题】:Setting up a Maven repository using SourceForge's file servers使用 SourceForge 的文件服务器设置 Maven 存储库
【发布时间】:2008-12-12 06:42:11
【问题描述】:

是否可以托管一个 Maven 存储库,该存储库为 SourceForge 的文件发布系统中的工件(至少是 jar 文件)提供服务(因为它们已经存在并且 SF 提供了下载统计信息等)?

我见过的所有存储库都使用相同的目录布局,但这是必须的吗? 下载 URL 必须看起来更像 http://sf.net/something.cgi?file-id=1234567

项目中只有少量文件,因此半手动维护某种存储库元数据 XML 文件中的下载 URL 仍然是一种选择。

注意:这是与How can I deploy artifacts from a Maven build to the SourceForge File Release System?相反的问题

澄清:我想将文件放在文件发布系统(项目下载)中,而不是项目网络空间或 subversion 存储库中。

【问题讨论】:

    标签: maven-2 sourceforge


    【解决方案1】:

    是的,你可以。但这有点令人费解:

    如果您查看像 http://jwebunit.sourceforge.net/m2-repo/ 这样的项目,您会发现他们正在公开一个完全合法的 maven 存储库。以下是执行此操作的步骤:

    理论上,您可以将 ~/.m2/repo 文件夹的相关部分添加到相关项目的 svn 根目录中(在名为 m-2repo 的文件夹中,例如 jwebunit 所做的)。 Sourceforge 公开了可通过 Web 访问的完整 svn 结构,所以这里有你的 repo。

    但是;问题是 Maven 要求远程存储库包含所有元素的 MD5 校验和。当您对本地文件 repo 运行“maven install”时,您不会生成这些校验和。

    我在本地解决这个问题的方法是在我机器上的特定文件夹上设置 apache/webdav。然后我使用这个文件夹作为“mvn deploy”的目标。然后我只是将这个完整的文件夹检查到 sourceforge 上的 subversion 中。

    【讨论】:

    • 这真的是项目的svn吗?还是他们的网络空间?我认为在网络空间中托管存储库违反了他们的服务条款(在尝试在那里托管 mercurial 存储库时遇到了问题)。无论哪种方式,我都想将工件放在他们的文件发布部分(项目下载)。
    【解决方案2】:

    对此感到抱歉,但我看不到将两个问题联系在一起的方法。我在此处向类似(重复?)问题添加了一些信息。它展示了如何在不需要任何 pom 技巧或插件的情况下将 maven 部署到 SF。

    How can I deploy artifacts from a Maven build to the SourceForge File Release System?

    【讨论】:

    • 是的,这个页面也链接到问题本身(作为“相反的种类”)。
    • 哎呀。对不起蒂洛。我应该删除这篇文章吗?
    【解决方案3】:

    非常好的解决方案,感谢 krosenvold。此外,您可以尝试使用 pom 的这一部分生成校验和:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <executions>
            <execution>
                <goals>
                    <goal>install</goal>
                </goals>
                <configuration>
                    <createChecksum>true</createChecksum>
                </configuration>
            </execution>
        </executions>
    </plugin>
    

    【讨论】:

      猜你喜欢
      • 2020-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 2015-12-06
      • 2014-08-24
      • 2013-02-24
      相关资源
      最近更新 更多