MAVEN 설치 방법,Nexus설치 사내저장소 만들기

 

우선 Maven 을 설치 하는 방법이다.

 

Maven 설치하는 방법은 두가지 방법이 있다.

 

우선 첫번째 방법은

 

Maven 다운로드 및 설치

 

Maven 공식 사이트 (http://maven.apache.org/)에서 Maven을 다운로드 받는다.

 

1. Maven 공식 사이트로 접속한다.

 

2. Run Maven 을 클릭 -> Download and Install Maven 을 접속한다.

 

3. 아래 그림과 같이 Maven 최신버젼을 다운 받는다.

 

 

4. 다운받은 파일을 설치하려는 위치에 압축을 풉니다.

 

5. 압축을 푼 위치로 환경 변수에 등록시켜 줍니다.

 

윈도우 7 사용자일 경우

내컴퓨터 오른쪽 클릭 ->속성 -> 왼쪽에 고급시스템설정 -> 고급탭 아래에 환경변수 클릭

 

 

새로만들기 클릭후 변수 이름을 MAVEN_HOME라고 해주고

 

압축을 푼 위치를 지정해준다.

 

Path에 편집을 눌러 좀전에 등록한 MAVEN_HOME을 추가시켜준다.

 

 

 

설치와 환경변수 등록이 끝났다.

 

설치가 잘되어있는지 확인을 위해

 

Command 창을 띄우고? mvn -version을 입력합니다.

 

설치와 환경변수가 잘 잡혔으면, 아래 그림과 같이 뜹니다.

 

 

 

6. 로컬저장소 디렉토리를 변경

 

설치한 Maven의 경로로 이동하여 conf폴더 아래 있는 settings.xml 파일을 열고,

 

아래 localRepository 경로를 새롭게 지정합니다.

 

지정을 안하게 되면 Default 값으로 -> C:Users.m2repository 로 지정이 됩니다.

 

아래와 같이 localRepository 경로를 지정합니다.

 

 

이클립스에서 사용하기 Maven 플러그인 설치

 

이클립스 상단메뉴에서 Help -> Install New Softwares를 선택합니다.

 

Work with부분에?:????http://m2eclipse.sonatype.org/sites/m2e/

 

입력한후 Add 버튼을 눌러줍니다. 글엄 아래쪽에

 

Maven Integration for Eclipse가나오는데

 

체크박스를 체크하고 넥스트를눌러서 설치하시면 됩니다.

 

 

이클립스를 재시작하면 설치과정이 완료 됩니다.

 

설치가 잘 되어 있는지 확인해보려면,

 

새로운 프로젝트를 선택합니다.

 

new -> other을 선택한후 Select a wizard가 나오면

 

Maven을찾아봅니다.

 

아래 그림과 같이 Maven이 보이면 설치가 잘 된겁니다.

 

 

설치를 확인하고, settings.xml를 설정해줘야 하는데,

 

이부분은 위에서 설정해준거와 같이 해주시면 됩니다.

 

1. 이클립스 상단에 Window -> Preferences의 Maven 설정으로 갑니다.

 

2. User Settings의 settings.xml 경로를 변경합니다.

 

 

변경하고 Apply(적용) 후 OK 를 누르시면 됩니다.

——————————————————————————————

이클립스의 WTP기능을 사용할 분들은 아래 Extras를 추가로 설치한다.

 

이클립스 상단메뉴에서 Help -> Install New Softwares를 선택합니다.

 

Work with부분에?:????http://m2eclipse.sonatype.org/sites/m2e-extras/

 

아래 그림과 같이 체크된 부분을 체크하시고 설치하시면 됩니다.

 

——————————————————————————————-

두번째 방법은 springsource Tool을 설치하는 방법이다.

 

자세한 방법은 😕http://blog.naver.com/pky0706/140140075751? 참고

 

——————————————————————————————-

 

Maven 사내(내부) 저장소 만들기

 

내부 저장소는 웹 서버, FTP 서버 등으로 구축할 수 있으나, 더욱 체계적으로 관리 할 수 있는 전문 프로그램을 사용해서 구축하는 편이 일반적이다.

이러한 프로그램으로 넥서스(Nexus), 아티팩토리(Artifactory)등이 있다.

 

현재(2011.12.07)는?아티팩토리보다 넥서스를 더욱더 많이 쓰는걸로 알려져 있다.

 

Nexus는 Maven repository manager로 프로젝트 또는 기업에서 필요로 하는 내부 리포지토리 구성을 위한 도구이다.

 

Nexus 사용효과

1. Proxy적용을 통한 빠른라이브러리 다운로드

-Central 리포지토리에서 직접 다운로드 하는 방식보다 효과적임

2. 공개된 리포지토리에 올릴 수 없는 라이브러리의 효과적인 관리

-3rd 파티에서 제공하는 라이브러리

– 내부 프로젝트 산출물로 생성되는 라이브러리 사용

3. 프로젝트 개발자간의 일관된 라이브러리 사용관리

– 프로젝트 내에서 사용되는 라이브러리 버젼관리

 

Nexus 특징

1. 직관적이고 뛰어난 사용성의 UI

2. 빠르고 쉬운 설치 – war 파일 형태의 배포 파일

3. artifact들에 대한 index 기능 및 효과적인 search 기능
4. m2eclipse와의 연동 기능
5. 웹 UI를 통한 artifact 등록 및 관리 기능
Nexus 다운로드 및 설치
Sonatype Nexus 사이트에서 war 패키지된 오픈소스 배포 파일을 다운로드 받는다.
http://nexus.sonatype.org/downloads
nexus-webapp-1.9.2.3.war 을 다운로드 한다.
Nexus 설치
내려 받은 nexut -webapp-1.9.2.3.war 설치 파일을 대상 was에 배포한다.
Context Root를 nexus로 설정하기 위하여 war 파일의 이름을 nexus.war로 변경한다.
톰캣이 설치된 경로에 webapps 폴더 아래
다운받은 nexus.war 파일을 넣는다.
파일을 넣은다음에 톰캣을 start 시킨다.
그런다음에 자신의 아이피?로컬이면, (http://localhost:8080/nexus)로 접속한다.
제대로 되면 nexus의 메인화면이 보인다.
——————————————————————————————-
nexus 사용하기
1. 로그인 하기
nexus 메인페이지 위에 보면 Log In 이라는 곳을 클릭한다.
처음 Nexus를 설치하면 기본 패스워드는 admin / admin123? 이다.
비번은 접속한후 보안 설정에서 비밀번호를 변경할 수 있다.
먼저 Repository의 Type는 크게 4가지가 있습니다.
1.?Hosted?: 기본 Type으로서 회사내에서 개발한 jar 파일 또는 회사에서 제품개발을 하기 위해서?구입한 3rd party의 jar 파일을 관리하는 Repository가 이에 속합니다. Nexus에서 기본적으로 제공하는 Hosted Type Repository는 Snapshots(사내개발용 repository),Releases(사내제품 repository),3rd party를 제공합니다.

2.?Proxy?: Global Repository처럼 외부 Repository에 대해서 proxy 역할을 합니다. maven의 Central Repository는 매우 느리고, 최신 버젼이 올라오는데 굉장히 오래 걸립니다. 그래서 jboss, springsource등에서 별도의 maven repository를 구축하여 운영하고 있습니다. 이런 경우에 각 개발자들이 해당 maven repository에 대한 설정을 각각 할 수 있기 때문에 Remote Repository를 외부 오픈소스에 대한 Proxy 서버로서의 역할을 수행할 수 있습니다. Nexus에서 기본적으로 제공하는 Proxy Type Repository는 Google Code, java.net, Maven Central이 있습니다.
3.?Virtual?: 서로 다른 타입의 Repository에 대해서 adapter 역할을 합니다. 현재 Nexus는 maven1 repository와 maven2 reopsitory에 대한 atapter역할만 제공하고 있습니다.
4.?Group?: 여러개의 Repository를 하나로 묶어주는 역할을 합니다.

 

——————————————————————————————-
Sonatype Nexus를 설치 했다고해서 사설 리파지토리 기능을 하는건 아닙니다.
몇가지 설정을 해줘야 합니다.
로그인한 후 왼쪽 메뉴중에 Repositories를 클릭하면 디폴트로 등록된 리파지토리들 목록이 나옵니다.
목록중에 public Repositories를 클릭하면 디폴트로 등록된 리파지토리들 목록이 나옵니다.
먼저 목록중에 Public Repositoites를 클릭하면 아래쪽에 상세 내용이 나오는데 Configuration 탭으로
이동합니다.
Ordered Group Repositories(정렬된)에 디폴트로 여러개가 등록 되어 있습니다.
일단 Maven Central만 남기고 Available Repositories(구할수 있는 리파지토리)옮깁니다.
대부분 다른 에디터 박스를 보면 오른쪽이 셀렉트 되는 부분이 들어가지만,
여기서는 왼쪽이 설정할 파일이 들어가는 부분이다.
설정을 다하고 Save를 눌러 저장을한다.
그런다음 리파지토리 목록중에 Maven Central을 설정해야한다.
Maven Central을 클릭하면 아래쪽에 상세화면이 나오는데 Configuration 탭으로 이동한다.
여기서 할일은 Download Remote Indexes가 디폴트로 False로 되어 있다.
이걸 True로 바꿔준다음에 다시 저장한다.
Download Remote indexes가 True로 되어있으면, Remote Storage Location으로 설정된
http://repo1.maven.org/maven2? 에 접속해서 인덱스 파일을 받아와서 그 인덱스 파일이랑 똑같이 나의 서버에 인덱스를 만들어 준다
Save를 하면 인덱스파일을 다운로드 받아 인덱스를 업데이트 하는 작업이 시작됩니다.
이 작업이 완료되면 리플레쉬를 한다음, 상담의 탭중 Browse Index 탭을 클릭해보면
안보이던 목록들이 생성되어 있는걸 볼수 있다.
인덱스하는 작업은 좀 시간이 걸린다. 작업이 완료 됐는지 보려면
왼쪽 메뉴증에 Administration -> Scheduled Tasks를 클릭해서 보면 알수가 있습니다.
이 메뉴는 현재 Nexus에서 돌아가고 있는 Task를보거나 아니면 원하는 Task를 스케쥴링 하도록 등록
하는 메뉴입니다.
Task 목록을 보면 Maven Central 리파지토리의 인덱스를 다운로드 받아서 인덱싱을 하는 작업이
진행중인 것을 볼 수 있다.
작업이 완료되면 목록에서 사라지는데, 상단의 리프레쉬 버튼을 클릭하면 사라질 때가 있을 것입니다.
인덱싱 작업이 완료되면 이제부터 정상적인 사설 리파지토리 기능을 수행할 수 있게 됩니다.
인덱싱된 결과를 볼려면 Public Repositories를 클릭한다음에 Browse Index탭을 클릭해봅니다.
인덱싱 하기전에는 없던 목록들이 인덱싱한 후에는 보입니다.
※ Browse Index 탭에 보여지는 것은 사설리파지토리로 제공가능한 디펜던시들이지 아직 서버로 다운된 상태는 아닙니다.
※ 나의 서버로 누군가가 디펜던시를 요청하면 일단 최초로 proxy 대상 리파지토리에 해당 디펜던시를 다운로드 받아 이후 요청부터 캐싱을 하게 됩니다.
※ 현재 다운로드 받아 캐싱하고 있는 디펜던시들을 볼려면 Browse Storage탭을 클릭해서 보면 됩니다.
——————————————————————————————-
중앙저장소(Central Repository)는 전 세계 모든 개발자가 자유롭게 접근해서 이용할 수 있는 저장 공간이다. 접속방식은 HTTP이며, 접속 URL은 다음과 같다.
메이븐 중앙 저장소 😕http://repo1.maven.org/maven2
—————————————————————————————
여기까지 설정은 메이븐 중앙 저장소에 캐싱 요청을 통해 가져올 수 있게 구성한 것이다.
이제 maven에서 나의 서버를 바라보게 설정만 해주면 됩니다.
왼쪽메뉴 Repositories를 클릭하면 화면이 나타나는데
Publice Repositoriesd의 Repository Path의 경로를 pom.xml파일의 repository로 설정해 주거나
바꿔주면 된다.
pom.xml에 이부분을 추가해주고
빨간 부분만 Repository Path의 경로로 수정해주면 된다.
<repositories>
????<repository>?
????????<id>central</id>
????????<releases><enabled>true</enabled></releases>
????????<snapshots><enabled>true</enabled></snapshots>
????</repository>
</repositories>
??
<pluginRepositories>
????<pluginRepository>
????????<id>central</id>
????????<releases><enabled>true</enabled></releases>
????????<snapshots><enabled>true</enabled></snapshots>
????</pluginRepository>
</pluginRepositories>

 

※ 이 설정에도 두가지 방법이 있다.
1. maven의 settings.xml 파일을 수정하여 maven을 바라보게 하는 방법과
2. maven의 pom.xml을 이용해 maven을 바라보게 하는 방법
지금 적용한 방법은 1번 방법이다.
우선 서버를 바라보게 설정을 하고 pom.xml 파일에서 서버가 잘 돌아가나 확인해본다.
디펜던시를 추가 해본다.
참고로 디펜던시는 아까전에 캐싱했던 부분에서 볼수 있다.
pom.xml에 추가해본다.
<dependency>
<groupId>abbot</groupId>
<artifactId>abbot</artifactId>
<version>0.12.3</version>
</dependency>
Browse Storage 탭에 가보면
pom.xml에 추가했던 디펜던시가 캐싱된 것을 확인할 수 있다.
——————————————————————————————-
이제 내부 프로젝트 산출물로 생성되는 라이브러리를 등록하여 사용할 수 있도록 해보자. . .
?1. 3rd party Repository 추가 한다.
Repositories -> 3rd party repository 선택한다.
선택후 Artifact Upload탭을 선택한다
-> pom파일이 있다면
??? GAV Definition 의 From POM 선택후 해당 POM 파일을 선택한다
??? -groupid, artifactid, version은 POM 파일의 내용으로?자동결정
->?pom파일이 없다면
??? GAV Definition의 GAV Parameters 선택후 Artifact 파일 선택한다.
??? -groupid, artifactid, version?직접입력
?Select Artifact(s) to Upload 버튼 선택후 해당 파일 선택 (올리고 싶은 jar 파일 선택합니다.)
Add Artifact 버튼을 클릭하여 추가를 합니다.
Upload Artifact(s)?버튼을 클릭하여 완료합니다.
등록된 Artifact의 dependency 정보를 사용하여 프로젝트에서?dependency를 추가하여 사용하시면 됩니다.
참고 사항으로 gorup으로 묶여 있는 Public Repositories의 path 주소를 사용할 경우

Public Repositories 부분의 Configuration 에서? 3rd party가 추가 되어 있어야 합니다.

 

다시말해

아래 그림에?지금은 Maven?Central 밖에 추가가 안되어 있지만,

 

3rd party가 ordered Group Repositories 로 추가 되어 있어야 합니다.

pom.xml에 새로 등록한 jar 파일의 디펜던시를 넣어주면, 자동으로 파일을 가져오게 됩니다.
——————————————————————————————-
setting.xml으로 서버 바라보기
펌 😕http://blog.naver.com/PostView.nhn?blogId=pky0706&logNo=140146609820

501 Replies to “MAVEN 설치 방법,Nexus설치 사내저장소 만들기”

Leave a Reply

Your email address will not be published.