주요글: 도커 시작하기
반응형

Maven을 이용해서 생성한 프로젝트를 이클립스에서 바로 사용할 수는 없다. 대신, Maven은 maven-eclipse-plugin을 이용해서 Maven 프로젝트를 이클립스에서 import 해서 사용할 수 있도록 지원해 주고 있다. 본 글에서는 Maven 프로젝트를 이클립스에서 사용하기 위한 기본 절차를 설명하고, 생성할 이클립스 프로젝트 정보를 커스터마이징 하는 방법을 살펴보도록 하겠다.

이 글을 최초로 썼던 2008년 시점과 달리, 현재는 이클립스의 메이븐 연동 플러그인(m2e 플러그인)이 잘 동작하기 때문에, 이 글의 방법을 사용해서 메이븐 프로젝트를 이클립스에 임포트 할 일이 없다. m2e 플러그인을 설치하면 이클립스에서 메이븐 프로젝트를 바로 임포트 할 수 있고, 또 메이븐 프로젝트를 생성할 수도 있다. 특히 이클립스 4.3 / 4.4 버전부터는 m2e 플러그인이 기본으로 포함되어 나오기 때문에, 플러그인을 따로 설치할 필요도 없어졌다. - 2014년 7월

최신 이클립스에서 메이븐 프로젝트를 임포트하는 방법은 https://javacan.tistory.com/entry/import-maven-project 글을 참고한다.


Maven 프로젝트에서 이클립스 프로젝트 정보 생성하는 방법

Maven 프로젝트를 이클립스에서 import 할 수 있도록 하기 위해 이클립스 프로젝트 정보를 생성하려면 아래 절차에 따라 필요한 작업을 수행하면 된다.

  1. 이클립스 워크스페이스에 Maven 관련 클래스패스 변수 추가하기. 이는 아래 명령어를 이용해서 실행하면 된다. (이 과정은 워크스페이스에 대해 한번만 실행해주면 된다.) 이 작업을 수행하면 해당 워크스페이스와 관련해서

    mvn -Declipse.workspace=<path-to-eclipse-workspace> eclipse:add-maven-repo

  2. 프로젝트 루트 디렉터리에서 eclipse:eclipse 플러그인 골을 실행해서 이클립스 프로젝트 정보를 생성한다.

    mvn eclipse:eclipse

    위 명령어가 성공적으로 실행되면 .project, .classpath, .settings/ 등 이클립스 프로젝트와 관련된 설정 파일이 생성된다.
  3. 이클립스를 실행한 뒤, File > Import > Existing Projects into Workspace 메뉴를 이용해서 생성된 이클립스 프로젝트를 import 한다.

1번 작업은 이클립스 워크스페이스 별로 한번씩 해 주면 된다. 2번 작업의 경우 POM 파일의 의존 설정 부분이 수정될 때 마다 eclipse:eclipse 플러그인 골을 실행해서 새로운 이클립스 프로젝트 설정 파일을 생성해 주어야 한다. 또한, 이클립스 설정이 변경된 프로젝트에 대해 'Refresh'를 실행해서 프로젝트 정보를 다시 읽어오도록 해 주어야 한다.

의존 라이브러리 소스 다운로드 설정

개발하다보면 디버그 과정에서 외부 라이브러리의 코드를 참조하고 싶을 때가 있다. maven-eclipse-plugin 플러그인은 프로젝트 정보를 생성할 때 관련 소스 코드 정보를 함께 생성해주는 기능을 제공하고 있다. 간단한 방법은 다음과 같이 eclipse:eclipse 플러그인 골을 실행할 때 donwloadSources 시스템 프로퍼티 값을 true로 주는 것이다.

mvn eclipse:eclipse -DdownloadSources=true

이 경우 Maven은 Maven 중앙 리포지토리에서 소스 코드를 포함하는 jar 파일을 다운로드 받아 로컬 리포지토리에 저장한 뒤, 이클립스 프로젝트 설정 파일에 소스 첨부 정보를 추가한다.

소스 코드를 다운로드 받도록 하는 또 다른 방법은 pom.xml 파일에서 maven-eclipse-plugin 플러그인 설정 정보를 직접 명시해주는 것이다. 아래는 pom.xml 파일 설정 예를 보여주고 있다.

<project>
  ...
  <dependencies>...</dependencies>
  <build>
    ...
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <configuration>
          <downloadSources>true</downloadSources>
          <downloadJavadocs>true</downloadJavadocs>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

위 코드와 같이 pom.xml 파일에 maven-eclipse-plugin의 설정 정보에서 downloadSources 설정 값을 true로 주면 eclipse:eclipse 골을 실행할 때 마다 소스 코드 다운로드를 시도하게 된다.

생성되는 프로젝트의 캐릭터 셋 설정하기

'mvn eclipse:eclipse' 명령어를 사용해서 이클립스 프로젝트 정보를 생성할 때, 생성되는 프로젝트의 인코딩은 이클립스에서 기본값으로 설정한 캐릭터 인코딩으로 설정된다. 그런데, 현재 이클립스의 기본 인코딩은 MS949인데, 새로 진행되는 프로젝트의 인코딩이 UTF-8 이라면 어떻게 해야 할까? 이미 다른 프로젝트들이 MS949 인코딩을 이용해서 개발되었기 때문에 이클립스의 기본 인코딩을 UTF-8로 변경할 수는 없을 것이다.

이렇게 프로젝트 별로 인코딩을 지정해주어야 하는 경우에는 pom.xml 파일에서 다음과 같이 maven-eclipse-plugin 플러그인의 <additionalConfig> 설정 정보를 추가해주면 된다.

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-eclipse-plugin</artifactId>
      <configuration>
        <additionalConfig>
          <file>
            <name>.settings/org.eclipse.core.resources.prefs
            </name>
            <content>
     <![CDATA[eclipse.preferences.version=1
encoding/<project>=UTF-8
]]>
            </content>
          </file>
        </additionalConfig>

      </configuration>
    </plugin>

<addionalConfig>/<file>을 설정하면 이클립스 프로젝트 생성시 추가적으로 <name>에 설정한 파일을 생성해준다. 위 코드의 경우 이클립스에서 인코딩 설정 정보를 저장할 때 사용되는 파일을 생성해 주도록 하였다. 생성되는 설정 파일(org.eclipse.core.resources.prefs)에서 encoding/<project> 설정 값을 UTF-8로 줌으로써, 이클립스에서 생성된 프로젝트의 인코딩을 UTF-8로 지정해 줄 수 있게 된다.


관련링크:


+ Recent posts