Использовать локальный репозиторий плоских файлов вместо удаленного репозитория maven - PullRequest
3 голосов
/ 13 января 2012

У меня нет опыта работы с maven, поэтому извините, если этот вопрос глупый ...

Из другого вопроса ( Как Grails обрабатывает зависимости плагинов ), я узнал, чтоЯ могу избежать jar-hell в Grails через репозитории Maven.Но теперь у меня есть требования, которые ...

  • Мне не разрешено использовать удаленные репозитории maven
  • Я хотел бы связать необходимые фляги с моим плагином (но с низким приоритетом)
  • Я бы хотел избежать попыток установить локальный репозиторий maven

Я уже работал со ссылкой на локальную папку для разрешения плагина.Это прекрасно работает.

Но как мне структурировать локальную папку, чтобы использовать эту опцию:

repositories {
  flatDir name:'myRepo', dirs:'/path/to/repo'
}

Я имею в виду, я мог бы просто выбросить файлы JAR в эту папку,но как мне тогда ссылаться на эти файлы JAR?Есть ли у них схема именования, например artifact_version.jar?Или мне нужно создать конфигурацию XML для этого локального репозитория?

Или усилия по использованию локального репозитория maven малы, а maven уже на моей машине через grails?

1 Ответ

3 голосов
/ 13 января 2012

Дело в том, что Maven уже поставляется с локальным репозиторием (~ / .m2 для Linux-боксов). Если у вас нет доступа к внешнему репо, вам просто нужно установить ваши jar-файлы в локальное репо с помощью этой команды

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

- это 'jar' (без кавычек), и идентификатор группы и идентификатор артефакта либо определяются, если это сторонняя библиотека (выполните поиск по mvnrepository.com , если вы их не знаете для конкретной библиотеки) или вы поместили туда свою группу и идентификаторы артефактов

РЕДАКТИРОВАТЬ: На самом деле схема именования в хранилище для примера библиотеки для версии 1.2 с jexample.com обычно составляет com/jexample/example/1.2/example-1.2.jar (groupId: com.jexample, artifactId: example, version: 1.0)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...