Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 2.6.0.Release
-
Fix Version/s: 2.7.0.Release
-
Component/s: Compiler Integration, Maven integration
-
Labels:
-
Environment:Apache Maven 3.0.3 (r1075438; 2011-02-28 10:31:09-0700)
Java v1.6.0_29, vendor: Apple Inc.
Mac OS X 10.7.2
-
Testcase included:yes
-
Number of attachments :
Description
The lombok annotation processor does not appear to participate in the java source compilation. The attached project functions in eclipse with m2e, but yields the following error when compiled with maven from the command line (or Run As > Maven Build... option).
parsing /Users/sskrla/Documents/workspaces/groovy-eclipse-lombok/groovy-eclipse-lombok-test/src/main/java/com/test/LombokDataClass.java - #1/1]
[reading java/lang/Object.class]
analyzing /Users/sskrla/Documents/workspaces/groovy-eclipse-lombok/groovy-eclipse-lombok-test/src/main/java/com/test/LombokDataClass.java - #1/1
[reading lombok/Data.class]
[reading lombok/package-info.class]
[reading java/lang/String.class]
completed /Users/sskrla/Documents/workspaces/groovy-eclipse-lombok/groovy-eclipse-lombok-test/src/main/java/com/test/LombokDataClass.java - #1/1
[1 unit compiled]
----------
1. ERROR in /Users/sskrla/Documents/workspaces/groovy-eclipse-lombok/groovy-eclipse-lombok-test/src/main/java/com/test/LombokDataClass.java (at line 5)
public @Data class LombokDataClass {
^^^^^^^^^^^^^^^
The blank final field a may not have been initialized
----------
2. ERROR in /Users/sskrla/Documents/workspaces/groovy-eclipse-lombok/groovy-eclipse-lombok-test/src/main/java/com/test/LombokDataClass.java (at line 5)
public @Data class LombokDataClass {
^^^^^^^^^^^^^^^
The blank final field b may not have been initialized
Digging deeper it appears that Lombok does not function as an annotation processor for ECJ compilers. Instead it expect to be a javaagent. However running maven with the Lombok java agent yeilds additional errors.
1. ERROR in /Users/sskrla/Documents/workspaces/groovy-eclipse-lombok/groovy-eclipse-lombok-test/src/main/java/com/test/LombokDataClass.java (at line 0)
package com.test;
^
Internal compiler error: java.lang.NoClassDefFoundError: org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding at org.eclipse.jdt.internal.compiler.lookup.ClassScope.buildFieldsAndMethods(ClassScope.java)