source

롬복 주석은 Intelliz 아이디어로 컴파일되지 않습니다.

goodcode 2022. 7. 27. 23:58
반응형

롬복 주석은 Intelliz 아이디어로 컴파일되지 않습니다.

  1. intellij 아이디어용 플러그인을 설치했습니다(lombok-plugin-0.8.6-13).
  2. 클래스 경로에 lombok.jar를 추가했습니다.
  3. 건물의 창문에 게터와 세터를 찾을 수 있습니다.Intelij에는 오류가 없습니다.
  4. Setting - Lombok 플러그인 - Intellij 구성을 확인하면 "InteliJ 구성이 정상인 것 같습니다.

다 괜찮은 것 같아요.그러나 테스트를 컴파일할 때 getXX 및 setXXX 메서드를 찾을 수 없다는 오류가 발생합니다.

인텔리J에서 .class 파일을 열어보니 setXX 메서드와 getXX 메서드가 없습니다.

누가 왜 그런지 말해줄래?

  • 플러그인: vpaok-cpair-0.8.6-13
  • lombok.jar: 1.14.0
  • 아이디어: Linux용 13.0.2
  • jdk: 1.7.0_21

문제 세트를 해결하려면:

  • 프리퍼런스(Ctrl + + )
    • 드, ,, 입
      • 컴파일러
        • 주석 프로세서
          • 주석 처리 사용

IntelliJ용 Lombok 플러그인이 설치되어 있는지 확인하십시오.

  • ★★->
  • "Lombok 플러그인" 검색
  • 저장소 찾아보기...를 클릭합니다.
  • Lombok 플러그인 선택
  • 설치하다
  • IntelliJ 재시작

만약 당신이 이클립스 컴파일러를 롬복과 함께 사용한다면, 이 설정은 마침내 나에게 효과가 있었다.

  • 아이디어 14.1
  • 롬복 플러그인
  • ... / 컴파일러 / Java 컴파일러 > 컴파일러 사용: 이클립스
  • ... / 컴파일러 / Annotation Processors > 주석 처리를 유효하게 하다 : on (디폴트 설정)
  • ... / 컴파일러 > 추가 빌드 프로세스 VM 옵션: (공유 빌드 프로세스 VM 옵션) - javaagent: lombok.jar

부분이고, 여기에 이미지 설명 입력

인텔리J 에디터가 게터와 세터를 인식하기 위해서는 플러그인이 필요하고, 이클립스 컴파일러가 롬복으로 컴파일 하기 위해서는 자바에이전트가 필요합니다.

Mac에서 Intelij를 사용한다면, 이 설정이 드디어 성공했습니다.

설치:인텔리

  1. [ Preferences ]
  2. 플러그인 검색 상자에 "Lombok"을 입력합니다.Lombok은 번들되지 않은 플러그인이므로 처음에는 표시되지 않습니다.
  3. 번들되지 않은 플러그인을 검색하려면 "참조"를 클릭하십시오.
  4. "Lombok 플러그인"이 나타납니다.선택해주세요.
  5. 녹색 "설치" 버튼을 클릭합니다.
  6. "Restart Intellij IDEA" 버튼을 클릭합니다.

설정:

  1. 주석 프로세서 사용

    • [ Preferences ]-> [ Build ], [Execution], [Deployment]-> [ Preferences ]-> [ Compiler ]-> [ Annotation Processor ]으로 이동합니다.
    • 파일 -> 기타 설정 -> 디폴트 설정 -> 컴파일러 -> 주석 프로세서
  2. Lombok 플러그인이 사용되도록 설정되었는지 확인합니다.

    • IntelliJ IDEA -> 프리퍼런스 -> 기타 설정 -> Lombok 플러그인 -> Lombok 활성화
  3. 글로벌 라이브러리 및 프로젝트 종속성에 Lombok jar를 추가합니다.

    • 파일 --> 프로젝트 구조 --> 글로벌 라이브러리 (lombok.jar 추가)
  4. 파일 --> 프로젝트 구조 --> 프로젝트 설정 --> 모듈 --> 의존관계 탭 = lombok 체크

  5. Intelij 재부팅

유사한 오류/같은 오류를 해결하기 위해 이 절차를 수행했습니다.

mvn 아이디어: 클린

mvn 아이디어: 아이디어

그 후 IDE intellij와 명령줄에서 모두 구축할 수 있었습니다.

저는 롬복 플러그인과 주석 처리 모두 필요 없습니다.Eclipse 및 추가 -javaagent:lombok.jar 옵션을 사용할 필요가 없습니다.

  • 아이디어 14.1.3, 빌드 141.1010
  • Lombok 플러그인 [프리퍼런스]-> [플러그인]-> [저장소 참조]-> [ lombok ]-> [설치 후 재시작 아이디어]
  • 기본 설정 -> '주석' 검색 -> 주석 프로세서 입력 -> 주석 처리를 활성화합니다.

트러블 슈팅에 오랜 시간을 소비한 결과, IntelliJ가 빌드 중에 Lombok 주석을 올바르게 처리할 수 있는 간단한 회피책을 발견했습니다.

le-lelelelelelelelelelelelelelelelelelelelelelelelelelelele.의 ★★★★★★★★★★★★★★★★★.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 옵션 불필요
  • 롬복 항아리에 대한 하드 코드화된 경로가 없습니다.

한 가지 단점은 인텔리J가 더 이상 자체 테스트 주자를 사용하지 않을 것이라는 것이다.대신, 테스트는 항상 Gradle을 통해 실행됩니다.

IDEA 2016.1:

  • lombok 플러그인 설치
  • 설정 -> 컴파일러 -> 주석 프로세서 -> 주석 처리를 유효하게 하다: 온 (디폴트 설정)
  • 설정 -> 컴파일러 -> 주석 프로세서 -> 주석 프로세서에 "lombok.launch"를 추가합니다.주석 프로세서Hider$Annotation Processor"
  • 또한 maven-compiler-plugin 설정에 maven을 추가하는 경우 -> annotation Processors -> annotation Processors: lombok.launch.주석 프로세서Hider$Annotation Processor(Hider$Annotation프로세서)

    <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>
    

다음의 2개의 요건을 만족하고 있는 것을 확인합니다.

  1. 주석 처리 활성화,

    [ Preferences ]> [ Build ], [ Execution ], [Deployment]> [ Compiler ]> [ Annotation Processors ]> [ Annotation Processors ]

  2. 프로젝트에 대해 Lombok 플러그인이 설치되어 활성화되어 있습니다.

이 질문에 대한 고급 답변 중 어느 것도 문제를 해결하지 못했습니다.

pom.xml 파일의 lombok에 의존자를 추가하여 문제를 해결했습니다.

<dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
   <version>1.16.12</version>
</dependency>

인텔리J 2016.3.14와 maven-3.3.9를 사용하고 있습니다.

제 답변이 당신에게 도움이 되기를 바랍니다.

Itelij 15 CE에서는 Lombok Plugin 설치만으로 충분합니다(추가 구성 불필요).

javac 컴파일러에서는 동작하지 않고, 같은 에러가 발생합니다.

오류:(9, 14) java: lombok 패키지가 존재하지 않습니다.

주석 프로세서를 활성화하고 프로젝트 재구축, 캐시 비활성화/재시작을 시도했습니다.도움이 안 돼요.

하지만 이클립스 컴파일러에서는 부분적으로 동작하게 되었습니다.빌드는 정상적으로 통과했지만 편집자가 여전히 "심볼을 해결할 수 없습니다"에 대해 불만을 표시하기 때문에 부분이라고 말합니다.

아이디어 - 15.04 커뮤니티 에디션 Lombok - 1.16.6 Lombok 플러그인 (https://github.com/mplushnikov/lombok-intellij-plugin) - 0.9.8 JDK - 1.8.0_51 )

업데이트: 네, 드디어 성공했습니다.저는 그래들프로젝트였고, 롬복은 커스텀 "제공" 구성으로 구성되었습니다.이것을 build.gradle에 추가한 후 정상적으로 동작.

idea {
 module {
     scopes.PROVIDED.plus += [configurations.provided]
    }
}

그래서 3단계

  1. 파일 -> 설정 -> 플러그인에서 Lombok 플러그인을 설치합니다.
  2. 주석 프로세서 사용(javac 컴파일러도 작동)
  3. 커스텀 구성으로 lombok을 추가할 경우 아이디어를 위해 build.gradle 또는 pom.xml이 업데이트되었는지 확인합니다.

언급URL : https://stackoverflow.com/questions/24006937/lombok-annotations-do-not-compile-under-intellij-idea

반응형