Version source prise en charge RELEASE_6 du processeur d'annotation org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor moins de source1.7
J'ai une application d'entreprise fonctionnant dans l'environnement suivant.
- Mojarra 2.2.7
- PrimeFaces 5.0 final
- PrimeFaces Extension 2.0 final
- OmniFaces 1.8.1
- EclipseLink 2.5.2 avoir JPA 2.1
- GlashFish 4.0
- NetBeans IDE 8.0
- JDK 1.7
J'ai changé la source de niveaux à 1,7 1,6 dans le project.properties
fichier sous nbproject
dans l'ensemble des trois modules (module Java EE, module EJB et de la GUERRE module) pour avoir le support de Java EE 7. Il est pas d'un projet Maven.
j2ee.platform=1.7
javac.source=1.7
javac.target=1.7
Plus tôt, ils étaient tous 1.6.
Après ces modifications, le message d'avertissement suivant s'affiche lors du nettoyage de projet.
avertissement: prise en charge de la version source 'RELEASE_6" de l'annotation
processeur
'org.eclipse.la persistance.interne.jpa.modelgen.CanonicalModelProcessor'
moins que "de source de 1,7'
je suis en utilisant EclipseLink générateur de méta-modèle 1.3.0 final pour générer un méta-modèle statique.
Est-il un moyen de se débarrasser de cet avertissement, autres que rabaisser le niveau de la source à 1,6? Est-il une incompatibilité avec cet avertissement?
Mise à jour :
Cet avertissement n'est plus reproductible dans EclipseLink 2.6.1 (disponible depuis le jeudi, octobre 15, 2015) avec le générateur de méta-modèle fourni par le faisceau - org.eclipse.persistence.jpa.modelgen_2.6.1.v20150916-55dc7c3.jar
.
Actuellement testé à l'aide d'EclipseLink 2.6.1 (JPA 2.1) et JDK 8u45 sur GlassFish 4.1 /Java EE 7.
Je suppose qu'il est fixe.
source d'informationauteur Tiny
Vous devez vous connecter pour publier un commentaire.
Selon la spécification de l'API Javal' @SupportedSourceVersion annotation (qui est à l'origine de la bûche) précise "la dernière version de la source d'une annotation processeur prend en charge", pas le minimum.
La lecture d'un discussion sur NetBeans forum sur ce sujet, il suggère que vous avez quelques solutions. Je suppose que la seule solution est de changer le code CanonicalModelProcessor:
Pour la EclipseLink de l'exécution pour être compatibles avec Java 6, vous avez
@SupportedSourceVersion(RELEASE_6)
À être bien adapté pour un Java 7 compilation, vous devriez avoir
@SupportedSourceVersion(RELEASE_7)
Mais ce que je comprends vous n'êtes pas de la compilation EclipseLink sur votre propre. Le principal problème (et la raison de l'avertissement), c'est que le fournisseur de logiciel (c'est à dire de la fondation Eclipse) garantit un traitement approprié du code Java SE 6 de l'environnement.
Le problème a été signalé comme un JDK bug. La conclusion est qu'il n'existe aucune autre solution de contournement.
La solution serait de spécifier le RELEASE7 constante (au moins selon ce que l'API est dit). Mais si EclipseLink équipe, ils ne peuvent pas compiler dans un environnement Java 6.
Donc, si vous compilez EclipseLink sur votre propre avec la bonne constante, si vous vivez avec l'avertissement...