2017-09-16 1 views
3

여기 this project컴파일 오류 - 그루비와 롬복

내 메이븐 명령

mvn clean compile test-compile test 

하지만 나는

에 직면하고있다

[ERROR] 더 이상 토큰 - 오류 메시지를 구문 분석 할 수 없습니다 : Groovy : 클래스 대리자를 해결할 수 없습니다. 주석 클래스를 찾을 수 없습니다. [오류] 12. D : \ Projects \ lombok-groovy-example-master \ src \ main \ groovy \ prystasj \ lombok \ example \ groovy \ Rocket에서 오류가 발생했습니다. .groovy (라인 5) [ERROR] @Data

MVN --version

Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T22:39:06+03:00) 

자바 -version

java version "1.8.0_144" 
Java(TM) SE Runtime Environment (build 1.8.0_144-b01) 
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) 

코드 저장소에서

<properties> 
    <groovy.version>2.0.5</groovy.version> 
    <java.version>1.6</java.version> 
    <lombok.version>0.11.4</lombok.version> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <build> 
    <plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.2</version> 
    <configuration> 
    <compilerId>groovy-eclipse-compiler</compilerId> 
    <fork>true</fork> 
    <verbose>false</verbose> 
    <source>${java.version}</source> 
    <target>${java.version}</target> 
    <encoding>${project.build.sourceEncoding}</encoding> 
    <compilerArguments> 
    <javaAgentClass>lombok.core.Agent</javaAgentClass> 
    </compilerArguments> 
    </configuration> 
    <dependencies> 
    <dependency> 
    <groupId>org.codehaus.groovy</groupId> 
    <artifactId>groovy-eclipse-compiler</artifactId> 
    <version>2.7.0-01</version> 
    </dependency> 
    <dependency> 
    <groupId>org.projectlombok</groupId> 
    <artifactId>lombok</artifactId> 
    <version>${lombok.version}</version> 
    </dependency>//... 

클래스 (자식 다릅니다의 파일!)

@Data 
public class Rocket { 
} 

답변

6

Groovy 용 Lombok을 사용해서는 안되며 Java에서만 사용하도록되어 있습니다.

그루비가 내장되어 당신이 원하는 것을 주석 @Canonical :

  • 유용 같음, 해시 코드와의 toString 메소드를 작성하고,이

그래서 더, 인수와 튜플 생성자를 생성하지

  • 귀하의 경우 사용 :

    @Canonical 
    public class Rocket {} 
    

    요 Groovy에서 필드 용 getter 및 setter를 작성할 필요가 없습니다. 클래스에 필드를 추가하면 Groovy는 create getters and setters이됩니다.