Maven локальный репозиторий в CVS? - PullRequest
2 голосов
/ 08 февраля 2011

Я хотел бы использовать свой CVS в качестве репозитория Maven. Кто-нибудь может дать предложения?

Ответы [ 2 ]

2 голосов
/ 08 февраля 2011

Есть 2 способа:

a) Если вы хотите использовать его только в одном проекте, поместите каталог «repo» на верхний уровень. Затем добавьте jar в соглашение maven (groupid в папках / artifactid / version / artifactif-version.jar). Чтобы использовать это как репозиторий, объявите файловый репозиторий в вашем pom.

<repositories>
    <repository>
        <id>some-repo</id>
        <name>some-repo</name>
        <url>file://${basedir}/repo</url>
        <releases>
            <checksumPolicy>ignore</checksumPolicy>
        </releases>

    </repository>
</repositories>

Если вы используете это из модуля pom, вы должны использовать URL относительно вашего модуля pom.

б) если вы хотите использовать его для нескольких проектов, есть так называемые «вагоны». Есть один для SVN. Эти плагины Maven позволяют использовать SCM в качестве хранилища. Я не знаю, есть ли универсал.

0 голосов
/ 08 февраля 2011

Я бы не стал помещать зависимости в систему SCM, такую ​​как CVS, по многим причинам.

  • Каждый раз, когда вы обновляете зависимость в pom, вам нужно вручную добавить соответствующий jar зависимости - в той же самой структуре папок, как и ожидал maven.

  • Вам нужно беспокоиться о переходных зависимостях, и это может быть подавляющим.

  • Поскольку эти зависимости не меняются (за исключением случаев, когда они являются SNAPSHOTS), SCM для них является излишним. Каждый раз, когда появляется новая версия зависимости, она должна находиться в другой структуре папок.

Если вы хотите контролировать зависимости, вы можете создать собственное maven mirror , используя менеджер репозитория . Они хранят зависимости, как правило, с использованием некоторых библиотек управления контентом и могут быть заархивированы / архивированы.

В соответствующей заметке Поставщик Maven Wagon SCM можно использовать для публикации проектов в SCM, но он не был протестирован с удаленным репозиторием на основе SCM.

...