Рубрики
Без рубрики

Создание частного репозитория maven/gradle

создание и развертывание частных репозиториев maven. Помечен maven, gradle, java, kotlin.

В некоторых случаях вам нужна частная библиотека, возможно, из-за политики конфиденциальности вашей компании или ваших личных предпочтений. Например, у вас несколько проектов, и вам нужны некоторые общие DTO или общие утилиты. Возможно, было бы хорошим выбором разделить их и сделать для них обычную упаковку для банок.

Для этого урока вам необходимо установить maven и JDK. Если у вас не установлен maven или JDK. Может быть, вы можете попробовать sdkman . Или, в общем, я предпочитаю использовать оболочку maven в своих проектах.

Я собираюсь использовать Повторения для этой цели. Облачный репозиторий maven очень прост в использовании. Итак, давайте сначала создадим общую библиотеку. Вы можете создать проект maven с помощью вашей любимой среды разработки или редактора.

Ваша первоначальная структура проекта будет такой:

- src
    - main
        - java
        - resources
    - test
- pom.xml

Во-первых, давайте создадим пакет, который представляет ДВУ нашей компании или наши личные предпочтения. Я собираюсь использовать свой личный домен Github. Вы можете использовать свой или что-то другое. После создания пакета структура каталогов будет примерно такой:

- src
    - main
        - java
            - com
                - github
                    - firatkucuk
                        - hellomavenlib
        - resources
    - test
- pom.xml

Хорошо, теперь мы можем создать наш суперсложный библиотечный класс.

package com.github.firatkucuk.hellomavenlib;

public class Hello {

    private Hello() {
    }

    public static String sayHello(final String name) {
        return "Hello " + name;
    }
}

Для заключительного этапа нам необходимо изменить ваш pom.xml . Необходим окончательный раздел для нашего библиотечного артефакта. Это будет что-то в этом роде.




  4.0.0

  com.github.firatkucuk
  hello-maven-lib
  1.0
  jar

  

Для перехода к следующему разделу нам необходимо создать учетную запись по адресу Представители . Вы можете напрямую перейти в раздел регистрация . Выберите имя пользователя и пароль, вот и все. Теперь мы можем использовать наш репозиторий maven. Представители автоматически создают для нас частный репозиторий maven с именем по умолчанию .

Возможно, было бы хорошей практикой не хранить пароль репозитория maven в нашей библиотеке maven pom.xml файл. Итак, давайте создадим файл настроек или изменим существующий. В вашей операционной системе должно быть .м2 папка в вашем домашнем каталоге. Если вы еще не использовали maven, возможно, вам придется его создать. Для пользователей Linux ~/.m2 каталог. Если его не существует. Вы можете создать один mkdir ~/.m2 .

Давайте создадим/изменим ~/.m2/settings.xml файл.



   
     
       repsy
       firat
       MY PASSWORD
     
   
 

Пожалуйста, измените свое имя пользователя и пароль разделы. Давайте поместим раздел определения репозитория развертывания в ваш pom.xml файл.




  4.0.0

  com.github.firatkucuk
  hello-maven-lib
  1.0
  jar

  
    
      repsy
      My Private Maven Repositoty on Repsy
      https://repo.repsy.io/mvn/firat/default
    
  

Пожалуйста, измените URL-адрес вашего репозитория. Это будет что-то вроде: https://repo.repsy.io/mvn/YOUR_USERNAME/default . Теперь мы можем развернуть нашу самую первую частную библиотеку репо.

mvn compile deploy

Это все для части развертывания. Если вы хотите получить доступ к исходному коду этой библиотеки. Вы можете получить доступ с здесь .

Давайте создадим еще один проект с правильной структурой ДВУ.

- src
    - main
        - java
            - com
                - github
                    - firatkucuk
                        - hellomavenapp
        - resources
    - test
- pom.xml

и измените свой pom.xml с правильными настройками удаленного репозитория и настройками зависимостей.




  4.0.0

  com.github.firatkucuk
  hello-maven-app
  1.0

  
    
      repsy
      My Private Maven Repositoty on Repsy
      https://repo.repsy.io/mvn/firat/default
    
  

  
    
      com.github.firatkucuk
      hello-maven-lib
      1.0
    
  

Пожалуйста, не забудьте изменить URL-адрес вашего репозитория.

Давайте создадим класс java, который использует нашу библиотеку hello.

package com.github.firatkucuk.hellomavenapp;

import com.github.firatkucuk.hellomavenlib.Hello;

public class Main {

    public static void main(final String[] args) {

        if (args.length > 0) {
            Hello.sayHello(args[0]);
        } else {
            Hello.sayHello("maven");
        }
    }
}

Давайте скомпилируем наш проект.

mvn compile

Это все, что наше примерное приложение использует удаленный частный репозиторий. Если вы не используете фреймворк, подобный spring, вам нужно взглянуть на некоторые решения fatjar или если вы собираетесь развертываться на сервере приложений Java. Вы можете изменить свою упаковку на war и выполнить компиляцию пакета mvn . Я собираюсь просто скопировать зависимости и выполнить с этой зависимостью.

Давайте запустим плагин зависимостей maven:

mvn compile dependency:copy-dependencies

давайте начнем с определения пути к классу

java -cp target/dependency/hello-maven-lib-1.0.jar:target/classes com.github.firatkucuk.hellomavenapp.Main "World!"

Вы можете получить доступ к исходному коду с здесь

Оригинал: “https://dev.to/fk/creating-private-maven-gradle-repository-2np3”