코딩마을방범대

Nexus를 이용해 Maven 라이브러리를 배포하기 본문

🎃 기타/상식 ❗

Nexus를 이용해 Maven 라이브러리를 배포하기

신짱구 5세 2024. 2. 22. 17:25

 

Nexus를 이용해 Maven 라이브러리를 배포할 일이 생겼다.

Nexus 서버만 구축했다면 배포하는 방법은 간단하다!

일단 기본적으로 pc 내에 메이븐이 설치되어있어야한다.

 

 

Maven 설치하기

 

파일을 직접 다운로드 받아서 설치하기

1. maven 설치하기

 

아래 링크에서 apache-maven- ~ -bin.zip 파일을 다운로드 받아준다.

압축해제할 폴더 위치는 아무 곳이나 상관없지만, 나는 Program Files에 넣어줬다.

 

 

Maven – Download Apache Maven

Downloading Apache Maven 3.9.6 Apache Maven 3.9.6 is the latest release: it is the recommended version for all users. System Requirements Java Development Kit (JDK) Maven 3.9+ requires JDK 8 or above to execute. It still allows you to build against 1.3 and

maven.apache.org

 


 

 

2. 환경 변수 등록하기

 

1. 고급 시스템 설정 보기 클릭

 

 

2. 환경 변수 클릭

 

 

3. 시스템 변수의 Path를 선택 후 편집 클릭

 

 

4. 새로 만들기 클릭 후 압축 해제 한 Maven 폴더 내의 bin 폴더 위치로 설정

 

 


 

 

3. 설치 테스트

 

cmd에서 아래 명령어 입력 시 정상적으로 출력되면 설치 완료다.

mvn -version

 

 

 

 


 

 

 

 

터미널에서 설치하기

1. maven 설치하기

자바가 설치되어 있다는 가정 하에 아래 명령어를 통해 maven을 설치한 후 압축을 해제해준다.

(버전은 상관 없음)

wget https://apache.mirror.colo-serv.net/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz && tar -xvf apache-maven-3.8.5-bin.tar.gz

 

 


 

 

2. 환경 변수 등록

export PATH=/설치한 폴더/apache-maven-3.8.5/bin:$PATH

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

배포하기

 

 

1. server에 접속하기 위한 credential 등록하기

Nexus에 접속하기 위한 id와 pw 정보를 저장해둬야한다.

메이븐 설치 폴더에 settings.xml 파일을 추가해주면 된다. (이미 있을 경우 내용만 추가!)

기본적으로 C:\Users\사용자이름\.m2\settings.xml 이 위치에 추가해주면 된다.

 

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
       <servers>
              <server>
                     <id>repository 이름</id>
                     <username>아이디</username>
                     <password>비밀번호</password>
              </server>
       </servers>
</settings>
id는 Name에 표시되어있는 텍스트를 삽입하면 된다.

 


 

 

2. pom.xml에 repository 정보 세팅하기

 

라이브러리로 등록할 프로젝트의 pom.xml에 repository 정보를 등록해줘야 정상적으로 업로드가 가능하다.

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <distributionManagement>
             <snapshotRepository>
                     <id>repository 이름</id>
                     <name>repository 이름</name>
                     <url>repository 주소</url>
             </snapshotRepository>
             <repository>
                     <id>repository 이름</id>
                     <name>repository 이름</name>
                     <url>repository 주소</url>
            </repository>
     </distributionManagement>
</project>

 

repository 주소는 해당 repsitory 줄의 copy를 클릭하면 된다.

 


 

 

3. 배포하기

 

mvn clean compile deploy

 

 

정상적으로 배포 완료 시 아래와 같이 표시된다.

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

사용하기

 

1. 의존성 추가 코드 복사하기

 

정상적으로 배포된 후 nexus 페이지를 들어가보면 라이브러리가 추가된 것을 확인할 수 있다.

해당 라이브러리 클릭 후 Usage에서 dependency 코드를 복사해올 수 있다.

maven말고 gradle로도 복사가 가능하다!

 

 

 


 

 

 

2. 라이브러리 적용시키기

 

gradle 기준으로 build.gadle 파일에서 repsotiroy 설정과 라이브러리를 추가해주면 된다.

credentials은 settings.xml 파일이 없을 경우에 직접 id와 pw를 입력해주면 된다.

 

...
buildscript {
       repositories {
              mavenCentral()
              maven { url "https://plugins.gradle.org/m2/"}
       }
}
repositories {
       maven {
              url "repository 주소"
              credentials {
                     username "아이디"
                     password "비밀번호"
              }
              mavenCentral()
              mavenLocal()
       }
       mavenCentral()
}
dependencies {
    // summary 참조
    compile group: '라이브러리 그룹명', name: '라이브러리 이름', version: '라이브러리 버전'
}

 

pom.xml은 아래와 같이 등록해주면 된다.

<repositories>
       <repository>
              <id>repository 이름</id>
              <name>repository 이름</name>
              <url>repository 주소</url>
       </repository>
</repositories>
<dependency>
       복사한 내용    
</dependency>

 

 

 

 

 

 


참고사이트

Nexus에 Spring Maven 라이브러리 배포 및 사용하기

 

 

SMALL

'🎃 기타 > 상식 ❗' 카테고리의 다른 글

John the Ripper 를 통해 패스워드 크래킹하기  (2) 2024.03.15
포트와 어댑터 아키텍처  (1) 2024.01.09
[윈도우] 사진 텍스트 추출하기  (0) 2023.11.23
Radius란?  (0) 2023.08.31
RDBMS와 NoSQL의 차이점  (0) 2023.08.29