Добавляем зависимость в maven репозиторий на своём сервере
Подготавливаем сервер
В корне сайта необходимо создать папку maven2 и для неё включить листинг директорий.
Для Apache:
Для nginx:
Не забудьте перезапустить сервис.
Получаем нечто подобное: https://annimon.com/maven2/
В корне сайта необходимо создать папку maven2 и для неё включить листинг директорий.
- mkdir /var/www/example.com/maven2
- <Directory /var/www/example.com/maven2>
- Options +Indexes
- </Directory>
- # /etc/nginx/sites-available/example.com
- location /maven2 {
- autoindex on;
- }
Получаем нечто подобное: https://annimon.com/maven2/
Подготавливаем библиотеки
1. Собираем jar, можно с зависимостями (shadowJar). Либо берём готовый jar, который хотим добавить в maven.
2. В -Dfile указываем путь к jar и заполняем необходимые для maven поля: groupId, artifactId, version:
3. Переименовываем maven-metadata-local.xml и генерируем хэши:
4. Перемещаем содержимое /tmp/tempmavendir (то есть папку com, org и.т.п.) на сервер в папку maven2
Теперь можно использовать этот репозиторий в своих проектах.
1. Собираем jar, можно с зависимостями (shadowJar). Либо берём готовый jar, который хотим добавить в maven.
2. В -Dfile указываем путь к jar и заполняем необходимые для maven поля: groupId, artifactId, version:
- mkdir /tmp/tempmavendir
- mvn install:install-file -Dfile=com.example.jar \
- -DgroupId=com.example -DartifactId=library1 -Dversion=1.0 \
- -Dpackaging=jar -DgeneratePom=true -DperformRelease=true -DcreateChecksum=true \
- -DlocalRepositoryPath=/tmp/tempmavendir
- cd /tmp/tempmavendir/com/example/library1
- mv maven-metadata-local.xml maven-metadata.xml
- md5sum maven-metadata.xml > maven-metadata.xml.md5
- sha1sum maven-metadata.xml > maven-metadata.xml.sha1
Теперь можно использовать этот репозиторий в своих проектах.
- <!-- pom.xml -->
- <project>
- ...
- <repositories>
- <repository>
- <id>example-repo</id>
- <name>example.com repository</name>
- <url>http://example.com</url>
- </repository>
- </repositories>
- ...
- </project>
- // build.gradle
- repositories {
- mavenCentral()
- maven {
- url 'http://example.com/maven2'
- }
- }