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

时间:2008-12-12 06:42:11

标签: maven-2 sourceforge

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

我见过的所有存储库都使用相同的目录布局,但这是必须的吗? 下载网址必须更像 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存储库。

3 个答案:

答案 0 :(得分:3)

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

如果你看一下这样的项目http://jwebunit.sourceforge.net/m2-repo/,你会发现他们正在揭露一个完全合法的maven回购。这些是执行此操作的步骤:

理论上你可以将〜/ .m2 / repo文件夹的相关部分添加到有问题的项目的svn根目录中(例如jwebunit已经完成的名为m-2repo的文件夹)。 Sourceforge暴露了可通过网络访问的完整svn结构,因此有你的回购。

但;问题是maven要求远程存储库包含所有元素的MD5校验和。当您向lolcal文件仓库运行“maven install”时,您将无法生成这些校验和。

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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