[eclipse] M2E 및 maven에서 소스 폴더를 Eclipse 소스 폴더로 생성

이클립스에 메이븐 프로젝트가 있고 주석 프로세서를 실행하여 코드를 생성하는 메이븐 목표가 있습니다. 이 코드의 출력 폴더는 target / generated-sources / apt입니다.

이클립스에서이 생성 된 코드를 보려면 이클립스 프로젝트에 target / generated-sources / apt를 소스 폴더로 추가해야합니다.

그러나 이로 인해 “Maven Configuration Problem”유형의 오류가 발생합니다.

프로젝트 구성이 pom.xml로 최신이 아닙니다. 프로젝트 구성 업데이트 실행

나는 eclipse가 maven의 세트와 다른 소스 폴더 세트를 가지고 있기 때문에 이것이 왜 그런지 이해한다고 생각합니다. 하지만 생성 된 소스 폴더를 볼 수 있으려면 이클립스가 필요하기 때문에이 다른 세트가 필요합니다.

순수 maven 빌드를 수행 할 때 이러한 소스 폴더는 maven에 의해 빌드에 포함됩니다.

btw, 나는 maven eclipse 플러그인 m2e 1.0의 공식 eclipse 릴리스로 업그레이드했습니다. 이전 m2eclipse 버전으로 돌아 가기 전에 m2e 플러그인을 사용하여 이에 대한 해결 방법 / 솔루션을 찾을 수 있는지 확인하고 싶습니다.



답변

build-helper-plugin 을 사용하여 소스 디렉토리를 첨부해야합니다 .

이렇게 :

 <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>add-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>${project.build.directory}/generated-sources/java/</source>
                </sources>
            </configuration>
        </execution>
    </executions>
 </plugin>

또한 다음을 수행해야합니다.


답변

오류 메시지를 마우스 오른쪽 버튼으로 클릭합니다.

프로젝트 구성이 pom.xml로 최신 상태가 아닙니다. 프로젝트 구성 업데이트 실행

문제보기에서 빠른 수정 을 선택하고 마침 을 클릭 하여 기본 업데이트 프로젝트 구성 을 선택합니다 . 이것은 그것을 수정합니다.


답변

m2e / maven / apt의 새 버전으로 전환 한 후 … buildhelper에 의해 추가 된 빌드 경로로 인해 중복 된 파일로 인해 빌드 오류가 발생했기 때문에 buildhelper에서 “apt-generated”-폴더를 제거해야했습니다.

M2E의 Update Maven Configuration을 통해 “apt-generated”폴더를 추가하지 않고 Eclipse의 문제를 해결하기 위해이 문제를 해결하기 위해 M2E 플러그인을 작성했습니다. maven-apt-plugin에 구성된 outputDirectories를 프로젝트의 빌드 경로에 추가합니다.

https://apt-m2e.googlecode.com


답변

m2e 1.0에서는 Maven 플러그인 처리가 변경되었습니다. 코드 생성 플러그인에 대한 특정 m2e 확장이 없을 수 있습니다. 여기 내가 찾은 모든 문서가 있습니다.

버그 보고서 도 관련 이 있을 수 있습니다.


답변

https://bugs.eclipse.org/bugs/show_bug.cgi?id=350081

cxf-codegen-plugin 자체에 수명주기 매핑을 추가하려면 CXF JIRA ( 1 참조 ) 에 요청 합니다. 이것은 m2e 1.1이 필요하지만 수명주기 매핑 API가 cxf-codegen-plugin 및 cxf보다 덜 자주 변경된다는 가정하에 cxf 프로젝트 외부에 커넥터를 구축하는 것보다 더 나은 접근 방식이라고 생각합니다.


답변

검색 카탈로그에서 사용 가능한 buildhelper m2e 커넥터를 사용할 수도 있습니다. Eclipse 3.7을 사용하고 있습니다.


답변

웹 개발자를위한 Eclipse Java EE IDE. 버전 : Juno 서비스 릴리스 1

mvn archetype:generate \
   -DarchetypeGroupId=org.codehaus.mojo \
   -DarchetypeArtifactId=gwt-maven-plugin \
   -DarchetypeVersion=2.5.0

mvn clean install

완벽하게 작동합니다.

그러나 일식에서는 Asinc 클래스에서 동일한 오류가 발생합니다.

프로젝트에서 F5를 누르십시오. 이 문제를 해결하십시오.