본문 바로가기

Maven

#6. 메이븐과 이클립스 통합

들어가기 전에....


  • 명령어 창(cmd)를 통해 메이븐 프로젝트를 만들었다. ( 전 글 참고 )
  • 이클립스를 통해 개발을 시작하자!
  • 이클립스에서 프로젝트를 만들면 Maven에서 다운받은 라이브러리를 클래스패스에 추가해야 된다??
  • 다행이 maven eclipse plugin이 메이븐 설정파일을 이용해서 이클립스 프로젝트로 변환해 주는 플러그인이 있긴 있다.


메이븐 이클립스 플러그인


 이클립스는 많은 프레임워크 ( ex: git, openshift 등등 ) 와의 통합을 지원한다. 역시, maven eclipse plugin을 통해 메이븐 통합을 지원하고 있다. 

 

 어떻게 메이븐->이클립스 프로젝트 변환이 가능한가?

 pom.xml에는 프로젝트와 관련된 소스 디렉토리, 테스트 소스 디렉토리, 의존 관계에 있는 라이브러리 정보가 모두 포함되어 있기 때문에 .classpath 파일을 자동 생성할 수 있다.


  •  mvn eclipse:eclipse - pom.xml 파일 설정을 활용하여 이클립스 프로젝트 메타파일들(.project, .classpath)을 생성
  •  mvn eclipse:clean   - 이클립스 프로젝트 메타파일들(.project, .classpath)를 삭제

[ 기본 생성된 maven project를 mvn eclipse:eclipse 실행했을 때 ]


  • classpathentry를 보면 M2_REPO(저장소)를 가리키도록 생성되었다.
    ( 저장소 설정 방법 - Window>Preferences>Java>Build Path>Classpath Variables)


 메이븐 프로젝트를 Dynamic Web Project로 생성하려면?


 ( + Dynamic Web Project로 생성하면 좋은점 ? 이클립스에서 톰캣 서버와 같은 서블릿 컨테이너에 바로 배포 가능함 )




 프로젝트 개발 시작


 Maven Dependency에 명시해놓은 라이브러리 F3을 눌러 소스코드에 접근하려고 하는데 소스코드가 보이지 않는다. 그 이유는 이클립스 설정에 추가하지 않았기 때문이다.


 [ 기존에 eclipse 개발 시 소스코드 추가 방법 ]

그렇다면 항상 source와 docs를 찾아서 설정을 해줘야 하는가? 메이븐 eclipse 플러그인에서 활용할 수 있는 인자를 찾아보았다. 소스코드 참조 뿐만 아니라 자바독 문서까지 자동으로 다운받게 해주는 인자가 있었다. 

 pom.xml과 .classpath를 다시 확인해보자. 


<plugin>

...

<configuration>

<downloadSources>true</downloadSources>

   <downloadJavadocs>true</downloadJavadocs>

</configuration>

</plugin>


  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.jar"/>


 m2eclipse 플러그인 활용하여 빌드하기


 위에 명시된 내용처럼라면 cmd창에 가서 mvn eclipse:clean mvn eclipse:eclipse를 실행하고 프로젝트를 재빌드해야 한다. 이 귀찮은 작업을 하지 않도록 도와주는게 m2eclipse 플러그인이다.



 m2eclipse를 활용한 메이븐 실행


 [ pom.xml 우클릭 > Run As ]



 [ pom.xml 더블클릭 ]

maven 관련 명령어를 몰라도 더 나은 UI를 통해 확인이 가능

  1. Dependencies : 프로젝트와 의존 관계에 있는 라이브러리르 관리할 수 잇음

  2. Dependency Hieararchy : mvn dependency:tree, mvn dependency:resolve 실행했을 때

  3. Effective POM : mvn help:effective-pom

maven> Update project : pom.xml이랑 java 설정들(.classpath 등) 싱크를 맞춰줌


'Maven' 카테고리의 다른 글

#3. 메이븐 설정 파일  (0) 2017.10.25
#1. 이상적인 개발 환경  (0) 2017.10.25
#5. 메이븐을 이용한 의존 라이브러리 관리  (0) 2017.10.24
#6. 메이븐과 이클립스 통합  (0) 2017.10.24
Error 모음  (0) 2017.03.18
Maven 기본  (0) 2017.03.10