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