지금까지 여러 기능들을 사용하기 위해 라이브러리를 다운받고 프로젝트에 추가하는 번거로운 작업방식을 해왔지만, 메이븐을 이를 간단한 코드작성으로 쉽게 연동해 주는 역할을 한다.


◆ Maven (메이븐)

Java기반 프로젝트의 라이프 사이클 관리를 목적으로 하는 빌드 도구
컴파일과 빌드를 동시에 수행, 테스트를 병행하거나 서버 측 Deploy지원을 관리할 수 있는 환경을 제공


▶ 라이브러리 관리 기능 내포

개발 시 다양한 라이브러리를 필요로 하게 되는데, 메이븐 이용시 pom.xml파일에 필요한 라이브러리만 적으면 Maven이 알아서 다운받고 설치해주고 경로까지 지정해 준다.
=> 즉, 여태까지 라이브러리에 jar파일등을 추가하는 방식과 달리 메이븐을 이용하여 라이브러리를 연동하는 것


▶ 설정 방법

1. Maven프로젝트 생성

New->Maven Project를 통해 새로 만들거나 또는
이미 만들어진 프로젝트를 우 클릭-> configure -> convert to Maven project로 변환

※ Maven POM작성

  • group id : 사용자별로 설정 ( 아무거나 )
  • artifact id : 프로젝트별로 설정 ( 아무거나 통일 )

※ 에러 시 대처

Maven의 설정파일은 C:사용자/.m2 디렉토리 안에 다 되어있기 때문에 에러가 생길 경우 이 디렉토리를 지우고 다시 시도하면 된다.


2. pom.xml 라이브러리 추가

메이븐 프로젝트를 생성하거나 convert하게 되면 pom.xml이라는 파일이 자동 생성된다. 해당 파일에서 밑의 탭들 중에 pom.xml탭을 선택하고 라이브러리 사이트에서 배포하는 메이븐 배포코드를 복사해서 <dependencies>태그 안에 붙여 넣어주면 된다.

ex ) SPRING연동 예

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.3.14.RELEASE</version>
    </dependency>
</dependencies>

</build>태그 밖으로 추가한다.

  • 메이븐은 스프링뿐만 아니라 대부분의 라이브러리를 연동할 수 있으며, 대부분의 라이브러리 배포사이트에서 jar파일과 별도로 pom.xml설정코드를 같이 배포한다.

  • 또한 여러 개의 라이브러리를 추가할 때 <dependencies>를 여러 개 추가하는 것이 아니라, 하나의 <dependencies>태그 안에 <dependency>만 여러 개 추가해서 여러 라이브러리를 추가한다.

ex ) gson을 추가로 추가

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.3.14.RELEASE</version>
    </dependency>
    
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.2</version>
    </dependency>
</dependencies>
  • 메이븐을 이용하여 라이브러리를 추가하게 되면, 빌드패스를 이용해 jar파일을 추가하는 방식과 같이 자동적으로 메이븐 라이브러리에 jar파일이 추가 된다
    ( 단, 인터넷이 연결되어 있는 상태이어야 함! )

  • oracle에서 배포하는 라이브러리는 메이븐에서의 다운로드를 막아두었기 때문에 메이븐에서 사용할 수 없고, jar파일을 다운로드하여 빌드패스로 추가할 수밖에 없다.


◆ 외부 메이븐 연동

메이븐을 따로 설치하여 이클립스와 연동하는 방법도 있다.


▶ 메이븐설치

http://maven.apache.org/download.cgi로 접속하여 MAVEN을 다운받는다.

  1. apache-maven-3.6.2-bin.zip 다운/압축해제
  2. apache-maven-3.6.2\conf\settings.xml 수정
    <localRepository>메이븐 jar다운받을 경로설정</localRepository>
  3. 메이븐 환경설정 ( JAVA_HOME처럼 MAVEN_HOME추가 )
  4. CMD -> mvn -version 명령어로 환경변수가 셋팅되었는지 확인


▶ 메이븐연동

Eclipse(STS)실행 후 Window->Preferences->Maven

  1. Installations에 메이븐파일 추가
  2. User Settings에 Global Settings, User Settings에 설정했던 settings.xml경로로 변경
    ( 아래 Local Repository에서 메이븐으로 다운받는 라이브러리의 경로를 수정할 수도 있다. )


▶ 라이브러리 모음 사이트

개발자 편의를 위해 라이브러리를 모아둔 사이트 http://mvnrepository.com/
라이브러리 검색 후 해당 라이브러리 다운로드에서 메이븐 탭을 보면 메이븐 설정파일도 있다.