2015-07-01 3 views
1

Я использую Lombok и Hrisey в своем приложении для Android. Я установил оба плагина на Android Studio.Ломбок - конфликт Hrisey

Но так как я начал использовать Hrisey, я получаю некоторые ошибки во время сборки. Наверное, есть конфликт.

Здесь ошибка, в моем классе приложений, даже если не выбросила какой-либо конкретной линии:

Warning:(14, 8) lombok.javac.apt.Processor could not be initialized. Lombok will not run during this compilation: java.lang.ClassCastException: Cannot cast hrisey.javac.handlers.ArgumentHandler to lombok.javac.JavacAnnotationHandler 
at java.lang.Class.cast(Class.java:3084) 
at lombok.core.SpiLoadUtil$1$1.next(SpiLoadUtil.java:111) 
at lombok.javac.HandlerLibrary.loadAnnotationHandlers(HandlerLibrary.java:170) 
at lombok.javac.HandlerLibrary.load(HandlerLibrary.java:155) 
at lombok.javac.JavacTransformer.<init>(JavacTransformer.java:43) 
at lombok.javac.apt.Processor.init(Processor.java:86) 
at lombok.core.AnnotationProcessor$JavacDescriptor.want(AnnotationProcessor.java:87) 
at lombok.core.AnnotationProcessor.init(AnnotationProcessor.java:141) 
at lombok.launch.AnnotationProcessorHider$AnnotationProcessor.init(AnnotationProcessor.java:53) 
at com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.<init>(JavacProcessingEnvironment.java:517) 
at com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors$ProcessorStateIterator.next(JavacProcessingEnvironment.java:614) 
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:707) 
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1700(JavacProcessingEnvironment.java:97) 
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1029) 
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1163) 
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1108) 
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:824) 
at com.sun.tools.javac.main.Main.compile(Main.java:439) 
at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:132) 
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:42) 
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:35) 
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:97) 
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:50) 
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:36) 
at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:34) 
at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:25) 
at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:158) 
at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:138) 
at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:92) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63) 
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:235) 
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:211) 
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:222) 
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:200) 
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) 
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) 
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) 
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) 
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64) 
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) 
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42) 
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) 
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53) 
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) 
at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:305) 
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79) 
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63) 
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51) 
at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:724) 

Он является примером того, как я использую Ломбок и Хрисей вместе:

@Data 
@NoArgsConstructor 
@hrisey.Parcelable 
public class Contacts implements Parcelable { 

    private String phoneNumber; 

} 
+0

Lombok (imho) очень неустойчивая структура с множеством проблем - различный API и странное поведение. Я бы не стал использовать lombok .. – Stefan

+1

ну, я использую его в двух приложениях, и он работает как шарм ... Я получаю эту проблему, когда я начал использовать hrisey –

+0

lombok не хватает производительности и даже создает ошибки на методе equals/hashcode. Создание геттеров-сеттеров сильно превзошло помощь IDE. Ломбок может вызвать затмение и intellij во многих ситуациях, чтобы потерпеть крах и не восстановить. Он даже не выдерживает стабильного поведения при выпуске новых версий. Я никогда не слышал, чтобы кто-нибудь использовал ломбок, чтобы выдерживать его через некоторое время и сложность. – Stefan

ответ

1

Я не знаю Hrisay, но this page перечисляет аннотации Lombok, и док говорит, что он основан на Ломбоке. Поэтому, я думаю, вы не должны использовать оба, поскольку они уже включены.

+0

Я вижу, но это значит, что функции Lombok в Hrisay не будут обновлены, как только появится новая версия Lombok? –

+0

@ DanieleVitali Думаю, они не будут. Но обратите внимание, что Ломбок развивается довольно медленно и этот проект [очень активен] (https://github.com/mg6maciej/hrisey/commits/develop). Это вилка Ломбока, поэтому вы пытались повторить попытку дважды подать Ломбок. – maaartinus

+0

Мне было интересно, потому что если я не ошибаюсь, они выпускают новую версию Lombok несколько недель назад. Спасибо вам все равно :) –

Смежные вопросы