블로그 이미지
Max.

calendar

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

Notice

'M2E'에 해당되는 글 1

  1. 2008.09.18 Eclipse기반의 M2E 프로젝트간의 의존성 문제
2008.09.18 09:45 이전글(~2009)

가끔 간단한 문제를 해결하고도 다시 똑같은 문제에 봉착하는 경우가 있다. 다시말해 깜빡거리는 치매현상을 보조하는 수단으로 기록만큼 좋은게 없다는 것을 느끼며 적는다.

전제조건은 두개의 이클립스 프로젝트를 만들고 이를 M2E로 연결하여 이용한다는 조건이다. 예제는 이렇다. 하나의 프로젝트에서는 DAO+Model이 있고, 다른 하나의 프로젝트에는 Service와 Controller가 있다. 이것은 다분의 의도적으로 분리했고, 실험적인 의도이다. 이 두 프로젝트에서 Service프로젝트는 DAO 프로젝트에 의존하게 된다. 의존관계는 M2E를 사용한 Maven이다.

사용자 삽입 이미지
그림에서 spring_mvc는 spring_orm에 의존한다. M2E pom파일에서 의존성을 보면 아래와 같이 보인다.
사용자 삽입 이미지
xml 테그로 보면 다음과 같다.

    <dependency>
      <groupId>net.max.test</groupId>
      <artifactId>max_spring_orm</artifactId>
      <version>1.0.1</version>
    </dependency>

이것은 마치 아주 잘 동작하는것 처럼 보이지만, 실제 Test코드를 돌려봐도 잘된다.
하지만 WTP tomcat를 실행하면 spring_orm프로젝트의 객체를 load할수 없다는 에러를 발생한다.(java.lang.NoClassDefFoundError)

(과거엔 이런현상을 볼수 없었는데 최근 업데이트 받은 후 부터 소스자동링크 문제인지, M2E설정 값에 문제가 있는것인지... 어쨌든 지금 문제는 의존성에 문제가 있다는것이다.)

해결방법은 의존하는 프로젝트를 Close하면 된다. 내가 봐도 어처구니 없는 해결방법이라 추천하진 않지만, 아직까지 알아낸 방법이 이것밖에 없으니 도리가 없다.

사용자 삽입 이미지
그림을 잘~보면 아이콘이 바뀌었고 jar로 등록되었음을 할수있다.

솔루션 기반의 프로젝트를 진행할때 특정(공개해서는 안되는) 모듈 개발시 하위 프로젝트 개발 테스트시 이런방식으로 개발할 여지가 있다.

오늘 아침 이게 기억나지 않아서 아예 포스트 해버렸다. 이젠... 잊지 않으리...

신고
posted by Max.
prev 1 next

티스토리 툴바