使用 SourceForge 的文件服务器设置 Maven 存储库

发布于 2024-07-11 08:26:44 字数 644 浏览 9 评论 0原文

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

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

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

注意:这是一个与 如何将 Maven 构建中的工件部署到 SourceForge 文件发布系统?

说明: 我想将文件放入在文件发布系统(项目下载)中,而不是项目 Web 空间或 Subversion 存储库中。

Is it possible to host a Maven repository that serves the artifacts (at least the jar files) from SourceForge's file release system (since they are already there and SF provides download statistics and such)?

All the repositories I have seen use the same directory layout, but is that a must?
Download URLs would have to look more like http://sf.net/something.cgi?file-id=1234567

There would only be a small number of files in the project, so that maintaining the download URL in some kind of repository metadata XML file semi-manually is still an option.

Note: This is kind of the opposite question to How can I deploy artifacts from a Maven build to the SourceForge File Release System?

Clarification: I want to put the files in the File Release System (Project Downloads), not the project web space or the subversion repository.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

眉黛浅 2024-07-18 08:26:44

是的你可以。 但这有点复杂:

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

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

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

我在本地解决此问题的方法是在我的计算机上的特定文件夹上设置 apache/webdav。 然后我使用这个文件夹作为“mvn部署”的目标。 然后我只是将这个完整的文件夹签入 sourceforge 上的 subversion 中。

Yes you can. But it's a bit convoluted:

If you look at a project like this http://jwebunit.sourceforge.net/m2-repo/ you'll see that they are exposing a perfectly legal maven repo. These are the steps to do it:

Theoretically you could just add the relevant part of your ~/.m2/repo folder to the root of svn on the project in question (in a folder called m-2repo for instance like jwebunit has done). Sourceforge exposes the full svn structure accessible through web, so there's your repo.

But; the problem is that maven requires that remote repositories contain MD5 checksums of all elements. When you run "maven install" towards a lolcal file repo you will not get these checksums generated.

The way I have solved this locally is to set up apache/webdav on a specific folder on my machine. I then use THIS folder as a target for "mvn deploy". Then i just keep this full folder checked into subversion on sourceforge.

柏拉图鍀咏恒 2024-07-18 08:26:44

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

如何将 Maven 构建中的工件部署到 SourceForge 文件发布系统?

Sorry about this but I don't see a way to link two questions together. I added some information to a similar (duplicate?) question here. It shows how you can maven deploy to SF without the need for any pom tricks or plugins.

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

梦魇绽荼蘼 2024-07-18 08:26:44

非常好的解决方案,感谢 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>

Very nice solution, thanks to krosenvold. Additionally, you can try to generate checksums with this part of 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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文