이런 경우가 있습니다. 이클립스에서 컴파일을 하면 문제가 되는 패키지 없이 컴파일이 잘되는데, 유독 maven 에서 클린을 해서 날려버린다음 빌드를 하려하면 특정 패키지를 못 찾는 경우가 있습니다.
도대체 감을 못잡으시겠죠?

원인은 간단합니다. 오타와 이클립스 빌드 구조의 한계죠.
예를 들어 pom.xml 에서 depdency 하는 것이 다음과 같다면 발생합니다.

<dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-activation_1.1_spec</artifactId>
            <version>1.0.2</version>
            <scope>provide</scope>
</dependency>

provide 가 아니라 provided 죠?

<dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-activation_1.1_spec</artifactId>
            <version>1.0.2</version>
            <scope>provided</scope>
 </dependency>


가 맞습니다. 그럼 이클립스에서는 왜 잘 되나구요?
이클립스는 provide 나 compile 이나, test 나 똑같이 빌드패스에 등록을 하여 사용합니다. 즉, 구분을 하지 않습니다. 따라서 이클립스 프로젝트의 빌드에서는 scope 를 처리 안한다는거죠. 그래서 빌드가 됩니다

반면! 메이븐이 컴파일 할 경우에는 scope 를 따지니깐, 오타가 있으면 무시해버리죠. 즉, 저 패키지를 가져오지 않아 빌드가 실패가 됩니다.

이넘 때문에 오랜 시간 고생하고 있었네요. 매번 이클립스 빌드 후 인스톨...ㅡㅡ;;

SVN 플러그인 subclipse 설치하기

 

  1. [Help] -> [Install New Software] 클릭
    install-eclipse-galileo-m2eclipse-subclipse-00.png
  2. [Add] 를 클릭한다.
    install-eclipse-galileo-m2eclipse-subclipse-01.png
  3. 추가하는 업데이트 사이트명을 지정하고, 로케이션은 다음과 같이 지정한다.
    Name : subclipse
    Location : http://subclipse.tigris.org/update_1.6.x
    install-eclipse-galileo-m2eclipse-subclipse-02.png
  4. 사이트를 추가하고 나면 해당 업데이트 URL 에 다음과 같은 설치할 수 있는 플로그인 목록이 나타난다. 적절한 항목을 선택한다.
    반드시 설치해야하는 것은 다음과 같다
    Core SVNKit Library, Subclipse
    install-eclipse-galileo-m2eclipse-subclipse-03.png
  5. 선택한 항목에 대한 자세한 정보가 기술된다. 만약 플러그인 의존성에 의해 설치할 수 없다고 나온다면, 이전 항목으로 돌아가 설치할 수 없는 항목을 제거하면 된다.
    install-eclipse-galileo-m2eclipse-subclipse-04.png
  6. 라이센스에 동의한다.

    install-eclipse-galileo-m2eclipse-subclipse-05.png

  7. 업데이트가 진행된다. 잠시 기다리자
    install-eclipse-galileo-m2eclipse-subclipse-06.png
  8. 사인되지 않은 경우, 다음과 같은 경고창이 될 수 있다. 그러나 우리는 믿을 수 있는걸 받고 있다. [OK]를 클릭하여 무시하고 진행한다.

    install-eclipse-galileo-m2eclipse-subclipse-07.png

  9. 플러그인 설치 후 이클립스를 재시작한다고 물어본다. [Yes] 를 클릭하여 재시작한다.

    install-eclipse-galileo-m2eclipse-subclipse-08.png

 

Maven 플러그인 m2eclipse 설치하기

 

m2eclipse 는 maven 이클립스 플러그인으로서 sonatype 에 의해 지원된다.

  1. 이클립스 기동 후 [Help] -> [Install New Software] 클릭한다
  2. [Add] 를 클릭한다.
    install-eclipse-galileo-m2eclipse-subclipse-10.png
  3. 추가할 사이트명과 주소를 지정한다.
    0.98 버젼의 update url 은 "http://m2eclipse.sonatype.org/update" 이었으나(스크린샷), 1.0에선 코어와 엑스트라로 구분되었다.
    현재는 0.98 버젼에 대한 지원이 사라졌다.
    따라서 2번의 추가가 필요한다.

  4. 업데이트 사이트를 추가하면, 다음과 같이 설치할 수 있는 플러그인 항목이 나타난다. 다음의 항목을 체크한다.
    install-eclipse-galileo-m2eclipse-subclipse-12.png
  5.  

    설치할 플러그인에 대한 세부 정보가 나타난다. 플러그인 의존성 실패로 메세지가 나올 경우엔 이전 화면으로 돌아가서 해당 항목을 제거하면 된다.
    install-eclipse-galileo-m2eclipse-subclipse-14.png

  6.  

    라이센스에 동의한다.
    install-eclipse-galileo-m2eclipse-subclipse-15.png

  7. 서명되지 않은 플러그인일 경우에 다음과 같은 경고창이 뜰 수 있다. 믿을만할걸 받고 있다. 무시한다.
    install-eclipse-galileo-m2eclipse-subclipse-16.png
  8. 모든 플러그인 설치 후 이클립스 재시작을 요구한다. [Yes] 클릭

    install-eclipse-galileo-m2eclipse-subclipse-17.png

이 글은 스프링노트에서 작성되었습니다.

+ Recent posts