2011-09-16 3 views
4

Windows 7 64 비트 PC에서 Eclipse (3.4.2 *), m2eclipse (0.9.8), Subversive (0.7.9) 및 SVNKit (1.6.10)을 사용합니다.Eclipse에서 다중 메이븐 모듈 SVN 연결 프로젝트를 설치/가져 오는 가장 좋은 방법은 무엇입니까?

Eclipse에서 다중 모듈 메이븐 프로젝트를 설정 (실제로 가져 오기)하는 방법에 대한 조언을 누군가에게 줄 수 있습니까?

  1. 이클립스, 각각의 서브 모듈에 대한 하나 개의 프로젝트를 유지 (I 올바르게 파괴 플러그인도 더 이상 하나 개의 프로젝트에 중첩 된 모듈을 지원하지 않는 기억 경우) 일반 권장 사항에 따라해야한다.

  2. 이클립스는 모든 Java 파일을 올바른 Java 클래스로 인식해야합니다. 즉, 유형/호출 계층 구조 표시와 같이 Eclipse의 다른 모든 일반 Java 기능뿐만 아니라 "열기 유형"대화 상자를 사용하여 찾을 수 있어야합니다.

  3. 파일 검색 또는 "리소스 열기"대화 상자를 사용할 때 모든 대상 폴더 및 .svn 파일과 폴더를 제외해야하며 모든 svn 폴더는 탐색기에서 제외/숨겨야합니다.

  4. "열린 리소스"는 한 번 이상 단일 파일을 표시하면 안됩니다.

  5. "Open Resource"또는 "Open Type"대화 상자를 사용하여 파일을 열면 svn-history를 볼 수 있습니다.

  6. 전체 프로젝트 (예 : 모든 하위 모듈 포함)에서 한 번에 svn 스위치를 수행 할 수 있어야합니다. 간단한 측면에서

프로젝트 구조는 : 내가 가진 가장 큰 문제는 요구 사항 2. 함께

<main project folder> 
| 
| 
---- pom.xml 
| 
| 
---- module 1 
| | 
| | 
| --- pom.xml 
| --- src/main/java 
| 
---- module 2 
[...] 

이클립스는 발견하지 않는 한 자바 파일이 적절한 자바 클래스가있는 것을 이해하지 않는 것

하위 모듈에 있습니다. 그렇게하기 위해, 요구 사항 4를 채우면서 작업 세트를 구성 할 때 주 이클립스 프로젝트에서 여러 폴더를 제외해야합니다. 그런 다음 Eclipse는 하위 모듈 프로젝트에서 Java 파일을 열고 해당 프로젝트가 SVN에 연결되지 않았으므로 요구 사항 5를 위반합니다. 그리고 SVN에 하위 모듈 프로젝트를 연결하여 문제를 해결할 경우 요구 사항 6을 위반합니다 (주 프로젝트에서 swich를 수행하면 하위 모듈 프로젝트는 여전히 이전 분기/트렁크에 연결되어 있다고 생각합니다).

의견/제안? 프로젝트의 핵심 구조를 변경하는 것은 선택 사항이 아닙니다. 이 주제에 대한 이전 토론을 검색해 보았지만 문제의 일부 (예 : "svn 파일/폴더를 Eclipse에서 숨기는 방법"또는 "열기 유형에서 일부 클래스를 찾을 수 없음")와 하위 모듈이있는 Eclipse + SVN + Maven 프로젝트의 전체 범위를 다루지는 않습니다.

* 내가이 버전을 사용하는 이유는 이클립스 플랫폼 자체에 대한 쉬운 업그레이드 기능이 없다는 것입니다 (버전 3.4.x의 경우 해당). 내가 신선한 설치를 수행하고 모든 방법을 수동으로 모든 플러그인을 설치하고 설치하는 데 싫어.

+0

Eclipse Indigo에 대한 업데이트는 간단합니다. Marketplace에서 Eclipse와 SVN 지원을 통해 m2e를 설치할 수 있기 때문에 ... Eclipse Indigo를 새로 다운로드하고 구성하는 것이 좋습니다. 변경 사항보다 훨씬 간단합니다. 현재 설치, 당신은 이전 버전의 플러그인을 사용하고 있기 때문에 (물론 당신의 Eclipse 버전을 기반으로). Eclipse 3.4.2는 2 살 이상입니다. 특히 Eclipse 용 최신 Maven Plugin은 Eclipse Indigo에서만 사용할 수 있습니다 ... 또한 m2eclipse를 0.12로 업데이트하려고 했습니까? – khmarbaise

+0

OP가 비표준 메이븐 플러그인을 사용하지 않는 경우에만이 버전으로 시작하기 때문에 인디고로 옮길 것을 제안합니다. 메이븐 플러그인은 이클립스를 요구할 수 있습니다. 반면 Helios 로의 업그레이드는 m2eclipse와 Subversive 모두에 많은 개선이 이루어 졌기 때문에 확실히 가치가 있습니다. –

+0

@Nicola. m2e를 사용하면 비표준 플러그인을 실행할 수 있습니다. 'lifecycle-mapping' 가상 플러그인의 ''을''으로 변경하십시오. 더 자세한 설명을 보려면이 문서를 읽어보십시오. -> http://wiki.eclipse.org/M2E_plugin_execution_not_covered. 이 함수를 실행하면 m2eclipse의 동작이 거의 비슷해집니다. 하지만 m2eclipse와 마찬가지로 실제 플러그인에 따라 마일리지가주의 될 수 있습니다. 나는 그들이 이것이 m2e에서 플러그인 지원을 재조합시킨 이유라고 생각한다. –

답변

3

다음과 같이하면 원하는 모든 것을 얻을 수 있다고 생각합니다.

  1. 리포지토리에서 체크 아웃 부모 프로젝트를 확인하십시오. 모듈을 포함하고있는 IE.
  2. 프로젝트를 체크 아웃 한 후 제대로 보이지 않으므로 삭제하십시오. 소스를 삭제하지 마십시오.
  3. 파일을 가져 와서 상위 프로젝트 폴더를 가져오고 가져옵니다.

그러면 부모와 모듈이 별도의 프로젝트로 표시되고 나열된 요구 사항을 충족해야합니다 (전부는 아닐지라도).

+0

이것도 제가하는 일입니다. 한 번에 Maven 프로젝트로 SVN에서 가져 오기가 항상 올바르게 작동하는 것은 아닙니다. –

+0

죄송하지만 어떻게 도움이되는지 모르겠습니다. 방금 시도했는데 요구 사항 번호 5가 여전히 실패합니다 ... – Jimi

+0

@ 지미 어디에서 svn 기록을 볼 예정입니까? 패키지 탐색기에 표시되어야합니다. –

관련 문제