[ 
https://issues.apache.org/jira/browse/OPENJPA-1659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12976826#action_12976826
 ] 

Tim Boudreau commented on OPENJPA-1659:
---------------------------------------

This is supposedly fixed in JDK 7's javac.

A workaround can be found here:
http://netbeans.org/bugzilla/show_bug.cgi?id=193952#c4
(see the annotation processor sources linked from comment 4)

> OpenJPA 2.0.0 annotation processor causes plain old Java compilation to fail
> ----------------------------------------------------------------------------
>
>                 Key: OPENJPA-1659
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1659
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 2.0.0
>         Environment: * javac 1.6.0_18 & 1.6.0_20 on Linux (Ubuntu 10.04 LTS) 
> * javac 1.6.0_20 on Windows XP SP3
>            Reporter: Matthew T. Adams
>         Attachments: javac_bug.zip, OPENJPA-1659-OffTheHook.zip, 
> OPENJPA-1659-testcase.zip
>
>
> Compiling the annotation whose source is below with openjpa-2.0.0.jar on the 
> classpath fails with the following error; compiling without succeeds.  If I 
> remove the file META-INF/services/javax.annotation.processor.Processor from 
> the openjpa-2.0.0.jar, compilation succeeds.
> =====================================
> Compilation log with OpenJPA on classpath:
> =====================================
> $ javac -d target/classes -classpath openjpa-2.0.0.jar 
> src/main/java/ann/ValidatedTime.java -g -verbose -nowarn -target 1.6 -source 
> 1.6
> [parsing started src/main/java/ann/ValidatedTime.java]
> [parsing completed 16ms]
> [search path for source files: openjpa-2.0.0.jar]
> [search path for class files: 
> /home/madams/programs/java/jdk1.6.0_20/jre/lib/resources.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/rt.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/sunrsasign.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/jsse.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/jce.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/charsets.jar,/home/madams/programs/java/jdk1.6.0_20/jre/classes,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/localedata.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/dnsns.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/sunjce_provider.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/sunpkcs11.jar,openjpa-2.0.0.jar]
> [loading 
> java/lang/annotation/ElementType.class(java/lang/annotation:ElementType.class)]
> [loading 
> java/lang/annotation/Retention.class(java/lang/annotation:Retention.class)]
> [loading 
> java/lang/annotation/RetentionPolicy.class(java/lang/annotation:RetentionPolicy.class)]
> [loading java/lang/annotation/Target.class(java/lang/annotation:Target.class)]
> [loading 
> java/lang/annotation/Annotation.class(java/lang/annotation:Annotation.class)]
> [loading java/lang/Object.class(java/lang:Object.class)]
> [loading java/lang/Enum.class(java/lang:Enum.class)]
> [loading java/lang/Comparable.class(java/lang:Comparable.class)]
> [loading java/io/Serializable.class(java/io:Serializable.class)]
> [loading java/lang/String.class(java/lang:String.class)]
> Round 1:
>       input files: {ann.ValidatedTime}
>       annotations: [java.lang.annotation.Retention, 
> java.lang.annotation.Target]
>       last round: false
> Round 2:
>       input files: {}
>       annotations: []
>       last round: true
> [search path for source files: openjpa-2.0.0.jar]
> [search path for class files: 
> /home/madams/programs/java/jdk1.6.0_20/jre/lib/resources.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/rt.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/sunrsasign.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/jsse.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/jce.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/charsets.jar,/home/madams/programs/java/jdk1.6.0_20/jre/classes,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/localedata.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/dnsns.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/sunjce_provider.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/sunpkcs11.jar,openjpa-2.0.0.jar]
> [loading 
> java/lang/annotation/ElementType.class(java/lang/annotation:ElementType.class)]
> [loading 
> java/lang/annotation/Retention.class(java/lang/annotation:Retention.class)]
> [loading 
> java/lang/annotation/RetentionPolicy.class(java/lang/annotation:RetentionPolicy.class)]
> [loading java/lang/annotation/Target.class(java/lang/annotation:Target.class)]
> [loading 
> java/lang/annotation/Annotation.class(java/lang/annotation:Annotation.class)]
> [loading java/lang/Object.class(java/lang:Object.class)]
> [loading java/lang/Enum.class(java/lang:Enum.class)]
> [loading java/lang/Comparable.class(java/lang:Comparable.class)]
> [loading java/io/Serializable.class(java/io:Serializable.class)]
> [loading java/lang/String.class(java/lang:String.class)]
> src/main/java/ann/ValidatedTime.java:21: incompatible types
> found   : ann.ValidatedTime.Precision
> required: ann.ValidatedTime.Precision
>       Precision precision() default Precision.SECOND;
>                                              ^
> [checking ann.ValidatedTime]
> [loading 
> java/lang/CloneNotSupportedException.class(java/lang:CloneNotSupportedException.class)]
> [loading java/lang/Class.class(java/lang:Class.class)]
> [total 437ms]
> 1 error
> =====================================
> Compilation log without OpenJPA on classpath:
> =====================================
> $ javac -d target/classes src/main/java/ann/ValidatedTime.java -g -verbose 
> -nowarn -target 1.6 -source 1.6[parsing started 
> src/main/java/ann/ValidatedTime.java]
> [parsing completed 16ms]
> [search path for source files: .]
> [search path for class files: 
> /home/madams/programs/java/jdk1.6.0_20/jre/lib/resources.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/rt.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/sunrsasign.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/jsse.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/jce.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/charsets.jar,/home/madams/programs/java/jdk1.6.0_20/jre/classes,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/localedata.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/dnsns.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/sunjce_provider.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/sunpkcs11.jar,.]
> [loading 
> java/lang/annotation/ElementType.class(java/lang/annotation:ElementType.class)]
> [loading 
> java/lang/annotation/Retention.class(java/lang/annotation:Retention.class)]
> [loading 
> java/lang/annotation/RetentionPolicy.class(java/lang/annotation:RetentionPolicy.class)]
> [loading java/lang/annotation/Target.class(java/lang/annotation:Target.class)]
> [loading 
> java/lang/annotation/Annotation.class(java/lang/annotation:Annotation.class)]
> [loading java/lang/Object.class(java/lang:Object.class)]
> [loading java/lang/Enum.class(java/lang:Enum.class)]
> [loading java/lang/Comparable.class(java/lang:Comparable.class)]
> [loading java/io/Serializable.class(java/io:Serializable.class)]
> [loading java/lang/String.class(java/lang:String.class)]
> [checking ann.ValidatedTime]
> [loading 
> java/lang/CloneNotSupportedException.class(java/lang:CloneNotSupportedException.class)]
> [loading java/lang/Class.class(java/lang:Class.class)]
> [wrote target/classes/ann/ValidatedTime$Precision.class]
> [wrote target/classes/ann/ValidatedTime.class]
> [total 352ms]
> =====================================
> Java source file src/main/java/ann/ValidatedTime.java
> =====================================
> package ann;
> import java.lang.annotation.ElementType;
> import java.lang.annotation.Retention;
> import java.lang.annotation.RetentionPolicy;
> import java.lang.annotation.Target;
> @Retention(RetentionPolicy.RUNTIME)
> @Target(ElementType.METHOD)
> public @interface ValidatedTime {
>       Precision precision() default Precision.SECOND;
>       public enum Precision {
>               NANOSECOND, MILLISECOND, SECOND, MINUTE, HOUR
>       }
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to