Настройка репозитория 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?