Страницы

Поиск по вопросам

четверг, 19 декабря 2019 г.

Ругается на ломбок

#java #maven


Здравствуйте, подскажите в чем причина ошибки. Ругается на ломбок. Не знаю в чем
причина, установлена jdk 9

Warning:(9, 8) java: lombok.javac.apt.LombokProcessor could not be initialized. Lombok
will not run during this compilation: java.lang.IllegalArgumentException: com.sun.tools.javac.api.ClientCodeWrapper$WrappedStandardJavaFileManager
extends com.sun.tools.javac.api.ClientCodeWrapper$WrappedJavaFileManager implements
javax.tools.StandardJavaFileManager
    at lombok.javac.apt.LombokFileObjects.getCompiler(LombokFileObjects.java:130)
    at lombok.javac.apt.InterceptingJavaFileManager.(InterceptingJavaFileManager.java:40)
    at lombok.javac.apt.LombokProcessor.placePostCompileAndDontMakeForceRoundDummiesHook(LombokProcessor.java:164)
    at lombok.javac.apt.LombokProcessor.init(LombokProcessor.java:85)
    at lombok.core.AnnotationProcessor$JavacDescriptor.want(AnnotationProcessor.java:87)
    at lombok.core.AnnotationProcessor.init(AnnotationProcessor.java:140)
    at lombok.launch.AnnotationProcessorHider$AnnotationProcessor.init(AnnotationProcessor.java:69)
    at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.(JavacProcessingEnvironment.java:675)
    at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors$ProcessorStateIterator.next(JavacProcessingEnvironment.java:774)
    at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:869)
    at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.access$2200(JavacProcessingEnvironment.java:108)
    at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1206)
    at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1315)
    at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1246)
    at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:922)
    at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:100)
    at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:142)
    at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:96)
    at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:90)
    at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:190)
    at org.jetbrains.jps.incremental.java.JavaBuilder.compileJava(JavaBuilder.java:473)
    at org.jetbrains.jps.incremental.java.JavaBuilder.compile(JavaBuilder.java:328)
    at org.jetbrains.jps.incremental.java.JavaBuilder.doBuild(JavaBuilder.java:255)
    at org.jetbrains.jps.incremental.java.JavaBuilder.build(JavaBuilder.java:208)
    at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1260)
    at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:937)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1009)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:900)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:733)
    at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:385)
    at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:192)
    at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:138)
    at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:295)
    at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:125)
    at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:236)
    at org.jetbrains.jps.service.impl.SharedThreadPoolImpl.lambda$executeOnPooledThread$0(SharedThreadPoolImpl.java:42)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.base/java.lang.Thread.run(Thread.java:844)

    


Ответы

Ответ 1



По умолчанию, ломбок добавляет @javax.annotation.Generated("lombok")ко всем сгенерированным методам. Начиная с новой jdk эта аннотация больше не является стандартной. Необходимо добавить в корень проекта lombok.config файл и внутри прописать: lombok.addJavaxGeneratedAnnotation = false

Ответ 2



Судя по тому, что проблема "Add jdk9 compiler support" всё ещё открыта, Lombok не поддерживает Java 9.

Ответ 3



Дополню @Санаев обязательно должна быть включена enable annotation processing. Проверить можно, если зайти File/Settings/Build,Execution,Deployment/Compiler/Annotation Processors

Ответ 4



Lombok уже поддерживает JDK9, начиная с версии 1.16.20. Issue #985 1.16.20 supports jdk9, gradle 4.2.1, maven 3.5.0

Комментариев нет:

Отправить комментарий