Вакансия: младший Java программист
Небольшой компании разработчику ПО
требуется младший Java программист
Москва, м. Партизанская/ МЦК Окружная подробнее






Клуб Java разработчиков
Обсуждение интересных технологий
и новинок для Java разработчиков.
Москва, м. Партизанская подробнее






Репозитории - это место где хранятся артефакты: jar файлы, pom -файлы, javadoc, исходники. Существуют:

  • Локальный репозиторий по умолчанию он расположен в <home директория>/.m2/repository - персональный для каждого пользователя.
  • центральный репозиторий который расположен в http://repo1.maven.org/maven2/ и доступен на чтение для всех пользователей в интернете.
  • Внутренний "Корпоративный" репозиторий- дополнительный репозиторий, один на несколько пользователей.

Локальный репозиторий

Локальный репозиторий по умолчанию расположен в <home директория>/.m2/repository. Здесь лежат артефакты которые были скачаны из центрального репозитория либо добавлены другим способом. Например если вы наберёте команду

mvn install
в текущем проекте, то соберётся jar (или war, pom в зависимости от содержимого тэга packaging) который установится в локальный репозиторий. Найти его можно в <home директория>/.m2/repository/<groupIdPath>/<artifactId>/<version>/<artifactId>-<version>.jar где groupIdPath получается заменой всех точек на слеши. Например для проекта
                <groupId>ru.apache-maven</groupId>
                <artifactId>site</artifactId>
                <version>1.0-SNAPSHOT</version>
            
jar файл будет лежать по пути: <home директория>/.m2/repository/ru/apache-maven/site/1.0-SNAPSHOT/site-1.0-SNAPSHOT.jar

Центральный репозиторий

Чтобы самому каждый раз не создавать репозиторий, сообщество для Вас поддерживает центральный репозиторий. Если для сборки вашего проекта не хватает зависимостей, то они по умолчанию автоматически скачиваются с http://repo1.maven.org/maven2. В этом репозитории лежат практически все опенсорсные фреймворки и библиотеки.

Самому в центральный репозиторий положить нельзя. Т.к. этот репозиторий используют все, то перед тем как туда попадают артефакты они проверяются, тем более что если артефакт однажды попал в репозиторий, то по правилам изменить его нельзя.

Для поиска нужной библиотеки очень удобно пользоваться сайтами http://mavenrepository.com/ и http://findjar.com/

Корпоративный репозиторий

Если вы хотите создать свой репозиторий, содержимое которого вы можете полностью контролировать(как локальный), и сделать так, чтобы он был доступен для нескольких человек, вам будет полезен корпоративный репозиторий. Доступ к артефактам можно ограничивать настройками безопасности сервера так, что код ваших проектов не будет доступен извне.

Чтобы добавить репозиторий в список, откуда будут скачиваться зависимости, нужно добавить секцию repositories в pom.xml, например:

                    <project>
                      ...
                      <repositories>
                        <repository>
                          <id>my-company-repo</id>
                          <url>http://my-company-site.ru/repo</url>
                        </repository>
                      </repositories>
                      ...
                    </project>

                

Существуют несколько реализаций серверов - репозиториев maven. Наиболее известные это artifactory, continuum, nexus.







blog comments powered by Disqus