[hibernate-dev] HSEARCH-1084 build failed
Emmanuel Bernard
emmanuel at hibernate.org
Tue Apr 24 18:19:18 EDT 2012
To clarify, I think it works in our systems because we have 1.6.0_31 installed. I don't think it's related to Windows per se.
On 25 avr. 2012, at 00:17, Emmanuel Bernard wrote:
> Sanne caught that one recently but your bisect helped a lot.
>
> It seems that we are a bit optimistic with out generic Russian dolls
>
> http://stackoverflow.com/questions/2431334/java-generics-what-is-the-compilers-issue-here-no-unique-maximal-instance
>
> /**
> * Creates the proxy for an annotation using Hibernate Commons Annotations
> * @param annotation the AnnotationDescriptor
> * @return the proxy
> */
> private static <T extends Annotation> T createAnnotation(AnnotationDescriptor annotation) {
> //This is a filthy workaround for the Annotations proxy generation,
> //which is using the ContextClassLoader to define the proxy classes
> //(not working fine in modular environments when Search is used by
> //other services such as CapeDwarf).
> //See HSEARCH-1084
>
> //use annotation's own classloader
> try {
> return AnnotationFactory.create( annotation, annotation.type().getClassLoader() );
> }
> catch ( Exception e ) {
> //first try, but we have another trick
> }
> //Use TCCL
> return org.hibernate.annotations.common.annotationfactory.AnnotationFactory.create( annotation );
> }
>
> Basically the compiler cannot guarantee that T in the outer method is the same as T in the AnnotationFactory.create methods. Unfortunately it yells in some strange language.
> It looks like the compiler is a bit more stupid on Windows for some obscure reason. Could you try 1.6.0_31 (the latest)?
>
> On 24 avr. 2012, at 23:48, Nicolas Helleringer wrote:
>
>> Hi all,
>>
>> Fetching last master tonight I was not able to build :
>>
>> [ERROR] Failed to execute goal
>> org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile
>> (default-compile) on project hibernate-search-engine: Compilation failure:
>> Compilation failure:
>> [ERROR]
>> \hibernate-search\hibernate-search-engine\src\main\java\org\hibernate\search\impl\MappingModelMetadataProvider.java:[251,34]
>> type parameters of <T>T cannot be determined; no unique maximal instance
>> exists for type variable T with upper bounds
>> T,java.lang.annotation.Annotation
>> [ERROR]
>> \hibernate-search\hibernate-search-engine\src\main\java\org\hibernate\search\impl\MappingModelMetadataProvider.java:[257,84]
>> type parameters of <T>T cannot be determined; no unique maximal instance
>> exists for type variable T with upper bounds
>> T,java.lang.annotation.Annotation
>>
>> After a goo bisect it seems 31b485c1aaabd9b0ff178505067147e5628e3010 is the
>> first bad commit.
>>
>> It is HSEARCH-1084 Annotation proxies created by Programmatic Mapping
>>
>> I m still on windows 7 x64 with 1.6.0_24 jvm
>>
>> Hope it helps.
>>
>> Niko
>> _______________________________________________
>> hibernate-dev mailing list
>> hibernate-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>
>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
More information about the hibernate-dev
mailing list