Мне нужен локальный репозиторий для моего проекта для JAR файла, недоступного через репозиторий Maven Central. Я устанавливаю свой JAR, используя mvn install:install-file …
согласно http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html, используя -DlocalRepositoryPath
чтобы указать путь в моем Git и используя -DcreateChecksum
для создания контрольных сумм.
Это устанавливает JAR, генерирует POM и генерирует контрольные суммы для всех файлов. Но интересно это также создает файл maven-metadata-local.xml
в каталоге groupId. Из http://maven.apache.org/ref/3.2.5/maven-repository-metadata/ Я понимаю, что local
- это идентификатор, который он предоставляет локальному репозиторию.
Но в моей POM (mvn install:install-file
не знал) я использую local-repo
ID для моего репозитория:
<repositories>
<repository>
<id>local-repo</id>
<url>file:///${project.basedir}/repo</url>
</repository>
</repositories>
Конечно, я мог бы изменить свой POM, чтобы просто использовать <id>local</id>
чтобы соответствовать сгенерированным файлам, но мне не нравится делать что-то, не понимая, почему я это делаю. Так может быть, кто-нибудь может сказать мне:
- Нужен ли мне
maven-metadata-local.xml
? Это служит цели? - Должна ли
local
часть соответствовать идентификатору репозитория, который я использую в POM? -
mvn install:install-file
лиmvn install:install-file
имеет параметр, позволяющий мне указывать идентификатор, который будет использоваться для локального репозитория (например, для генерацииmaven-metadata-local-repo.xml
или мне нужно вручную переименовать файл позже?