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

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

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

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

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

Разъяснение: Я хочу поместить файлы в систему выпуска файлов (Project Downloads), а не в веб-пространство проекта или в хранилище подрывников.

Ответы

Ответ 1

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

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

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

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

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

Ответ 2

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

Ответ 3

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

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