2011-08-17 5 views
2

인디고에 중첩 된 m2Eclipse 프로젝트가 있습니다. 상위 프로젝트에는 중첩 모듈에서 사용하는 src 폴더가 있습니다 (아래 구조 참조).중첩 된 m2Eclipse 프로젝트에 Java Project 특성을 추가 할 수 없습니다.

  • 상위
    • SRC
    • 의 pom.xml
    • 모듈 1
      • 의 pom.xml
    • 모듈 2
      • 의 pom.xml 0
      • 메이븐 실행 구성에서

실행 MVN 패키지는 모든 모듈을 구축, 그래서 의존성 관리가 작동 것으로 보인다. 그러나 MAVEN DEPENDENCIES 폴더가 없으며 모든 소스 파일에서 Java 컨텐츠 지원이나 다른 Java Project 기능을 사용할 수 없습니다. 나는 프로젝트를면 처리 된 형식으로 변환하고 자바 패싯을 추가하려고 시도했지만, 그 중 하나도 작동하지 않았다.

답변

5

부모가 자바 프로젝트가 아니라 pom 프로젝트이기 때문입니다.

m2e를 사용하여 Eclipse에서 maven 프로젝트 SET을 개발하는 동안 모든 프로젝트를 작업 영역으로 가져 오기로되어 있으며 module1 & module2에서 Java 개발을 수행해야합니다.

Java 소스 파일을 편집하는 현재의 방법을 사용하면 분리 된 모드에 있으며이 Java 파일은 알려진 Java 모델의 일부가 아니기 때문에 JDT의 고급 도구는 사용할 수 없습니다.

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 가져 오기 ... -> 기존 Maven 프로젝트를보십시오. 이렇게하면 작업 공간에 pom 프로젝트와 다른 두 개의 (두 가지로 추정되는) Java 프로젝트 인 세 개의 프로젝트로 끝나야합니다. 그런 다음 모든 Java 개발은 project1과 project2에서 수행되어야합니다. M2e는 Java 프로젝트에서 작업 공간 종속성을 생성 할만큼 똑똑합니다.

하산 Ceylan

+0

도움 주셔서 감사합니다. 그러나 src 폴더가 부모에 중첩되어 있기 때문에 여전히 Java 컨텐츠 지원을 사용할 수 없으며 Eclipse에서 src 폴더를 모듈의 빌드 경로에 연결할 수 없습니다. – user899509

+0

Maven 규칙에 따라 모든 pom 프로젝트에는 java 소스가 없어야합니다. 모든 Java 소스는 ​​서브 모듈에 포함되어야합니다. 아카이브하려는 경우 모듈 1과 모듈을 상위 프로젝트에 종속성으로 추가하는 것이 좋습니다. 4 개의 프로젝트 중 하나는 pom 프로젝트이고 다른 하나는 주 프로젝트이고 나머지 하나는 모듈 프로젝트와 주 프로젝트입니다. 모듈 1과 2에 대한 의존성을 포함해야합니다. –