[java] Intellij 아이디어 아래에서 롬복 주석이 컴파일되지 않습니다.


Answers

롬복과 함께 이클립스 컴파일러를 사용한다면,이 설정은 마침내 저에게 효과적이었습니다 :

  • 아이디어 14.1
  • 롬복 플러그인
  • ... / 컴파일러 / Java 컴파일러 > 사용 컴파일러 : Eclipse
  • ... / 컴파일러 / 주석 프로세서 > 주석 처리 사용 : 선택 (기본 구성)
  • ... / Compiler > 추가 빌드 프로세스 VM 옵션 : -javaagent : lombok.jar

가장 중요한 부분은 마지막 것입니다. 다음과 같습니다.

플러그인은 IntelliJ 편집기가 getter 및 setter를 인식하는 데 필요하며 javaagent는 Eclipse 컴파일러가 lombok으로 컴파일하는 데 필요합니다.

Question
  1. intellij 아이디어 (lombok-plugin-0.8.6-13) 용 플러그인을 설치했습니다.
  2. 클래스 패스에 lombok.jar를 추가했습니다.
  3. 구조 창에서 게터와 세터를 찾을 수 있습니다. Intellij는 오류를 표시하지 않습니다.
  4. Setting - Lombok plugin - lombok에 대한 Intellij 구성 확인. "IntelliJ 구성이 괜찮은 것 같습니다."

모든 것이 괜찮은 것 같습니다. 그러나 테스트를 컴파일 할 때 오류가 발생합니다. getXXX 및 setXXX 메소드를 찾을 수 없습니다.

IntelliJ로 .class 파일을 열고 setXXX 및 getXXX 메서드가 없음을 확인합니다.

왜 누군가 말해 줄 수 있니?

  • 플러그인 : lombok-plugin-0.8.6-13
  • lombok.jar : 1.14.0
  • 아이디어 : 리눅스 용 13.0.2
  • jdk : 1.7.0_21



IDEA 2016.1 :

  • 롬복 플러그인 설치
  • 설정 -> 컴파일러 -> 주석 프로세서 -> 주석 처리 사용 : 선택 (기본 구성)
  • 설정 -> 컴파일러 -> 주석 프로세서 -> 주석 프로세서 "lombok.launch.AnnotationProcessorHider $ AnnotationProcessor"를 추가하십시오.
  • 또한 maven-compiler-plugin 설정에 maven add를 사용하는 경우 -> annotationProcessors -> annotationProcessor : lombok.launch.AnnotationProcessorHider $ AnnotationProcessor

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>${maven.plugin.compiler.version}</version>
      <configuration>
        <compilerVersion>${java.version}</compilerVersion>
        <source>${java.version}</source>
        <target>${java.version}</target>
        <annotationProcessors>
          <annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor>
        </annotationProcessors>
      </configuration>
    </plugin>
    



Itellij 15 CE에서는 Lombok Plugin을 설치하기 만하면됩니다 (추가 구성 필요 없음).




이 문제를 해결하는 데 너무 많은 시간을 소비 한 후 IntelliJ가 빌드 중에 롬복 주석을 올바르게 처리 할 수있는 간단한 해결 방법을 발견했습니다.

이 해결 방법에는 gradle-lombok 플러그인이 필요하지 않습니다. build.gradle 에는 다음이 필요합니다.

dependencies {
    compileOnly("org.projectlombok:lombok:1.16.18")
}

해결 방법은 다음 IntelliJ 설정을 켜는 것입니다.

  1. IntelliJ 환경 설정 / 설정을 엽니 다.
  2. Build, Execute, Deployment > Build Tools > Gradle > Runner
  3. Delegate IDE build/run actions to gradle


이 해결 방법의 이점은이 페이지의 다른 솔루션과 비교됩니다.

  • 주석 처리가 필요하지 않습니다!
  • 원하는 Java 컴파일러 사용 가능 (Eclipse 컴파일러 필요 없음)
  • 버그가있는 gradle-lombok 플러그인을 사용하지 않습니다 (누군가 다른 사람이이를 해결할 수도 있음)
  • VM 옵션이 필요하지 않습니다.
  • 롬복 항아리에 하드 코딩 된 경로 없음

한 가지 단점은 IntelliJ가 더 이상 자체 테스트 러너를 사용하지 않는다는 것입니다. 대신, 테스트는 항상 Gradle을 통해 실행됩니다.




Links