2011-12-15 2 views
10

나는 Lombok을 활용하는 기존 Java Maven 프로젝트에 groovy를 추가하려고합니다. 불행히도 아래의 pom 부분에 groovy-maven-eclipse 컴파일러를 사용하게되면 내 lombok 주석이 달린 java 파일이 컴파일되지 않습니다. 내가 알 수있는 한, 롬복은 자바 파일의 컴파일에 전혀 참여하지 않고있다.Maven Groovy 및 Java + Lombok

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.1</version> 
    <configuration> 
     <compilerId>groovy-eclipse-compiler</compilerId> 
     <verbose>true</verbose> 
    </configuration> 
    <dependencies> 
     <dependency> 
      <groupId>org.codehaus.groovy</groupId> 
      <artifactId>groovy-eclipse-compiler</artifactId> 
      <version>2.6.0-01-SNAPSHOT</version> 
     </dependency> 
    </dependencies> 
</plugin> 

이클립스 (m2e 포함)에서는 모든 것이 잘 동작한다는 것을 지적해야합니다. 내 문제는 mvn 패키지를하려고 할 때 발생합니다.

+0

당신은 롬복은 메이븐 의존성에 포함해야합니까? http://projectlombok.org/mavenrepo/index.html –

답변

15

@Todd : 그루비 - 이클립스 컴파일러는 Groovy 툴을 사용하여 플러그인을 개발할 필요가없는 경우 가장 적합합니다 (http://groovy.codehaus.org/Groovy-Eclipse+compiler+plugin+for+Maven 참조).

@Ambience : http://jira.codehaus.org/browse/GRECLIPSE-1293과 관련된 문제가 발생했습니다. 이 버그는 최신 groovy-eclipse-compiler 2.6.1-01-SNAPSHOT으로 수정되었습니다.

:

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.1</version> 
    <configuration> 
     <compilerId>groovy-eclipse-compiler</compilerId> 
     <verbose>true</verbose> 
     <fork>true</fork> 
     <compilerArguments> 
     <javaAgentClass>lombok.launch.Agent</javaAgentClass> 
     </compilerArguments> 
    </configuration> 
    <dependencies> 
     <dependency> 
      <groupId>org.codehaus.groovy</groupId> 
      <artifactId>groovy-eclipse-compiler</artifactId> 
      <version>2.9.1-01</version> 
     </dependency> 
     <!-- for 2.8.0-01 and later you must have an explicit dependency on groovy-eclipse-batch --> 
     <dependency> 
      <groupId>org.codehaus.groovy</groupId> 
      <artifactId>groovy-eclipse-batch</artifactId> 
      <version>2.3.7-01</version> 
     </dependency> 
     <dependency> 
      <groupId>org.projectlombok</groupId> 
      <artifactId>lombok</artifactId> 
      <version>1.16.4</version> 
     </dependency> 
    </dependencies> 
</plugin> 

필수 부품 : 사용할 수있는 최신 버전 은 2.9.1-01, 당신은이처럼 치어을 수정해야 http://docs.groovy-lang.org/latest/html/documentation/tools-groovyeclipse.html

를 참조 지금

<fork>true</fork> 

<compilerArguments> 
    <javaAgentClass>lombok.launch.Agent</javaAgentClass> 
</compilerArguments> 

maven-compiler-plugi 내부의 롬복에 대한 추가 종속성 N

편집 : 갱신 버전

+0

org.codehaus.groovy의 Maven 아티팩트를 얻는 방법에 대한 아이디어 : groovy-eclipse-compiler : 2.6.1-01-SNAPSHOT? 어떤 repo에서도 찾을 수 없습니다. 심지어 codehaus 스냅 샷 repo! – Meeque

+0

최신 버전은 현재 2.7.0-01입니다. http://groovy.codehaus.org/Groovy-Eclipse+compiler+plugin+for+Maven을 참조하십시오. –