Настройка репозитория Maven с использованием файловых серверов SourceForge

Можно ли разместить репозиторий Maven, который обслуживает артефакты (по крайней мере, файлы jar) из системы выпуска файлов SourceForge (поскольку они уже есть, а SF предоставляет статистику загрузок и тому подобное)?

Все репозитории, которые я видел, используют одинаковую структуру каталогов, но это обязательно? URL-адреса для загрузки должны выглядеть примерно так: http://sf.net/something.cgi?file-id=1234567

В проекте будет только небольшое количество файлов, так что поддержание URL загрузки в каком-либо виде XML-файла метаданных хранилища в полуавтоматическом режиме по-прежнему возможно.

Примечание. Это своего рода вопрос, противоположный тому, как я могу развернуть артефакты из сборки Maven в системе выпуска файлов SourceForge?

Пояснение: я хочу поместить файлы в систему выпуска файлов (загрузка проекта), а не в веб-пространство проекта или в хранилище subversion.

3 ответа

Да, ты можешь. Но это немного запутанно:

Если вы посмотрите на такой проект, как этот http://jwebunit.sourceforge.net/m2-repo/ то увидите, что он представляет совершенно законное репозиторий Maven. Вот шаги, чтобы сделать это:

Теоретически вы можете просто добавить соответствующую часть вашей папки ~/.m2/repo в корень svn соответствующего проекта (например, в папке с именем m-2repo, как это сделал jwebunit). Sourceforge предоставляет полную структуру SVN, доступную через Интернет, так что это ваш репо.

Но; проблема в том, что maven требует, чтобы удаленные репозитории содержали контрольные суммы MD5 всех элементов. Когда вы запускаете "maven install" для репозитория lolcal, вы не получите эти контрольные суммы.

Я решил это локально, установив apache/webdav в определенную папку на моем компьютере. Затем я использую ЭТУ папку в качестве цели для "mvn deploy". Тогда я просто держу эту полную папку проверенной в subversion на sourceforge.

Очень хорошее решение, благодаря 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>

Извините за это, но я не вижу способа связать два вопроса вместе. Я добавил некоторую информацию к аналогичному (дублирующему?) Вопросу здесь. Он показывает, как вы можете развернуть Maven в SF без каких-либо подвохов или плагинов.

Как я могу развернуть артефакты из сборки Maven в системе выпуска файлов SourceForge?

Другие вопросы по тегам