1. Nexus Maven Repository를 이용하여 Build
Project의 POM 파일(
pom.xml
)에 Repository 정보 추가<repositories> <repository> <id>sw-central</id> <name>Central Repository</name> <url>{Nexus Server Repository Address}</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> </repositories>Project의 POM 파일(
pom.xml
)에 Plugin Repository 정보 추가<pluginRepositories> <pluginRepository> <id>sw-central</id> <name>Central Repository</name> <url>{Nexus Server Repository Address}</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </pluginRepository> </pluginRepositories>설정 완료한 Maven Project Build
IDE 도구에서 프로젝트를 빌드하거나, VSCode Terminal에서 다음과 같이 실행합니다.mvn clean package만약
Dependency Library들을 하나의 폴더에 모으고 싶다면
다음과 같이 maven 명령을 실행합니다.mvn clean dependency:copy-dependencies package
2. Nexus Maven Repository에 Library 배포
프로젝트 내 다른 개발자의 라이브러리를 참조해야 하거나, 내가 개발한 라이브러리를 다른 개발자들이 참조하여 개발해야 하는 경우가 발생할 수 있습니다.
그런 경우에도, Nexus Repository를 활용하여 라이브러리를 배포할 수 있습니다.
하지만, Nexus Maven Repository에 로컬에서 빌드한 Library를 배포하는 경우에는 다음 사항에 유의해야 합니다.
release
와snapshot
을 구분해야 합니다.
release
: 정식 배포용. 동일한 버전에 대해 재배포 불가snapshot
: 개발 및 테스트용. 동일 버전 재배포 가능pom.xml
파일 내 [version
] 태그의 버전 명에 "SNAPSHOT"이 있으면 snapshot repository로 배포합니다.
Nexus Maven 접근을 위해서 User ID/Password 설정
Nexus 서버 관리자에게 Nexus 서버에 접근할 수 있는 계정 생성을 신청합니다.
그 후, 로컬 Maven 저장소로 이동하여settings.xml
파일을 생성합니다.
로컬 Maven 저장소는 Terminal에서 다음과 같이 찾을 수 있습니다.cd ~/.m2 pwdTerminal에서 직접
settings.xml
을 생성할 수도 있습니다.New-Item -Path C:\Users\USER\.m2\settings.xml -ItemType file -Value "<settings></settings>"windows 10 powershell
기준입니다.생성된
settings.xml
파일에 생성된 Nexus 서버 계정을 다음과 같이 추가합니다.<settings> <servers> <server> <id>sw-central</id> <username>{username}</username> <password>{password}</password> </server> </servers> </settings>settings.xml
파일 내 server id는 Project 내pom.xml
파일의 Repository id와 동일해야 합니다.로컬 개발 PC 환경 설정
로컬 개발 PC에서 외부 https를 호출할 경우, 오류가 발생할 수 있습니다. (개발 망 이슈)
따라서, 이런 경우 Default로 설정되어 있는 Public Maven Central 환경을 disable시켜야 합니다.
프로젝트의 POM 파일(
pom.xml
)에 다음 내용을 추가합니다.<repositories> <repository> <id>central</id> <name>Central Repository</name> <url>https://repo.maven.apache.org/maven2/</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>false</enabled> </releases> </repository> </repositories>Project의 POM 파일(
pom.xml
)에 Distribution Management Repository 정보 추가<distributionManagement> <repository> <id>sw-central</id> <name>release repository</name> <url>{Nexus Server Release Repository Address}</url> </repository> <snapshotRepository> <id>sw-central</id> <name>snapshot repository</name> <url>{Nexus Server Snapshot Repository Address}</url> </snapshotRepository> </distributionManagement>Maven Build를 통해서 배포
다음과 같이 Nexus 서버에 Library를 배포합니다.mvn deploy
3. Local Repository(로컬 파일 시스템 내에 있는 라이브러리) 추가
로컬에 있는 라이브러리들이 있는 폴더, 즉 Local Repository는 다음과 같이 POM 파일(pom.xml
)에 추가할 수 있습니다.
<repositories>
<repository>
<id>local-com</id>
<url>file://${basedir}/src/main/resources/lib/</url>
</repository>
</repositories>
댓글을 달아 주세요
댓글 RSS 주소 : http://www.yongbi.net/rss/comment/856