Maven Repository Types

Для хранения артефактов (jar/war файлы, pom -файлы, javadoc, исходники) используется удобно использовать репозиторий.

Существуют:
Локальный репозиторий по умолчанию он расположен в /.m2/repository – персональный для каждого пользователя.
Центральный репозиторий – доступен на чтение для всех пользователей в интернете.
Внутренний “Корпоративный” репозиторий- дополнительный репозиторий, один на несколько пользователей.

mvn install

В текущем проекте, то соберётся jar (или war, pom в зависимости от содержимого тэга packaging) который установится в локальный репозиторий. Найти его можно в /.m2/repository////-.jar где groupIdPath получается заменой всех точек на слеши.
В нашем случае jar файл будет лежать по пути: /.m2/repository/ru/gotoqa.repoTest/repo-test/1.0-SNAPSHOT/***-1.0-SNAPSHOT.jar

mvn install:install-file  -Dfile=dist/***.jar -DgroupId=ru.gotoqa.repoTest 
-DartifactId=repo-test -Dversion=1.0-SNAPSHOT -Dpackaging=jar

-Dfile=dist/***.jar — путь к jar-файлу
-DgroupId=ru.gotoqa.repoTest — groupId для pom.xml (уникальный)
-DartifactId=repo-test — artefactId для pom.xml (уникальный)
-Dversion=1.0-SNAPSHOT (любая версия)

Для тестирования пользуюсь бесплатным сервисом: mymavenrepo.com Предоставляет 256 Mb доступного места на диске для хранения артефактов.

Настройки простые, два линка, одни для чтения и другой для записи. Документация тут.

Для Maven pom.xml:

    <distributionManagement>
        <repository>
            <id>myMavenRepo.write</id>
            <url>${myMavenRepo.write.url}</url>
        </repository>
        <snapshotRepository>
            <id>myMavenRepo.write</id>
            <url>${myMavenRepo.write.url}</url>
        </snapshotRepository>
    </distributionManagement>

To upload artifacts use mvn deploy command.

Releated Post