IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

[annotations] annotation [] is missing <clinit>


Sujet :

Langage Java

  1. #1
    Membre éclairé
    Homme Profil pro
    Architecte senior Java EE/Spring - ScrumMaster
    Inscrit en
    Juin 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte senior Java EE/Spring - ScrumMaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 229
    Par défaut [annotations] annotation [] is missing <clinit>
    Bonjour à tous,

    Maintenant que j'ai résolu mon pb de compilation (cf. section Maven), j'ai un soucis avec mes annotations : ça compile sous Eclipse, avec m2e, mais impossible de lancer "mvn package"...
    Pour info : l'annotation en question provient d'un module importé sous forme de dépendance et je fais bien attention (?) à tout compiler en 1.6

    [INFO] ------------------------------------------------------------------------
    [ERROR] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Compilation failure

    D:\eclipse_workspaces\services_sts\bdocweb.st-service\src\java\fr\xxx\soa\editique\bdocweb\st\service\IBDocwebST.java:[21,0] annotation fr.xxx.soa.toolbox.locator.ServiceXXX is missing <clinit>

    D:\eclipse_workspaces\services_sts\bdocweb.st-service\src\java\fr\xxx\soa\editique\bdocweb\st\service\IBDocwebSTAssemblage.java:[15,0] annotation fr.xxx.soa.toolbox.locator.ServiceXXX is missing <clinit>


    [INFO] ------------------------------------------------------------------------
    [INFO] Trace
    org.apache.maven.BuildFailureException: Compilation failure
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:580)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:500)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:479)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:331)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:292)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:345)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:132)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:290)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
    at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
    at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
    Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure
    at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:516)
    at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)
    at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:454)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:559)
    ... 16 more
    [INFO] ------------------------------------------------------------------------
    Merci d'avance pour vos lumières.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Tu es sûr que eclipse et maven (mvn commande) ne pointent pas sur différent version de jdk? car d'après ce que j'ai vu sur google, c'est un bug sur certains version de java.
    Essaie d'utiliser m2e même pour le package:
    Click droite sur le projet->Run as ->Run Configurations -> Tu crées un nouveau pour "Maven builds" -> et dans le champs "goals" tu mets "package".
    ou bien
    Click droite sur le projet->Run as ->Maven buids... -> et dans le champs "goals" tu mets "package".

    A+.

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    on peux voir le pom.xml et la dépendance à l'annotation en question?

  4. #4
    Membre éclairé
    Homme Profil pro
    Architecte senior Java EE/Spring - ScrumMaster
    Inscrit en
    Juin 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte senior Java EE/Spring - ScrumMaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 229
    Par défaut @andry.aime
    Bonjour,

    J'utilise bien des "configurations" de build Maven pour l'exécuter via Eclipse.
    Tout cela m'a l'air de pointer vers la même JDK... Y a-t-il une option qui me permette d'afficher le JDK dans les traces Maven ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Architecte senior Java EE/Spring - ScrumMaster
    Inscrit en
    Juin 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte senior Java EE/Spring - ScrumMaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 229
    Par défaut @tchize
    Inclusion du module où se trouve l'annotation, dans un POM parent du POM de mon projet cible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <dependencies>
    	<!-- prise en charge @ServiceXXX et proxying associé -->
    	<dependency>
    		<groupId>fr.xxx.soa.toolbox</groupId>
    		<artifactId>soa.toolbox-locator</artifactId>
    		<version>1.0.4-SNAPSHOT</version>
    	</dependency>
    </dependencies>

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu dépend d'une snapshot, est-tu sur que la version "publiée" de la snapshot contient bien déjà l'annotation (en gros, es-tu passé sur le projet en question et as-tu fait un mvn install) ?
    Le pom parent as-t-il aussi bien fait l'objet d'un mvn install?

    Eclipse gère automatiquement les liens entres tes projets ouverts, mais maven ne vois pas ce qui est en dehors de son reactor et du repository.

  7. #7
    Membre éclairé
    Homme Profil pro
    Architecte senior Java EE/Spring - ScrumMaster
    Inscrit en
    Juin 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte senior Java EE/Spring - ScrumMaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 229
    Par défaut
    Oui, oui, j'essaye de faire des "install" en cascade. Je précise que ça eu compilé, cette histoire-là... la semaine dernière, mon processeur APT traité bien les annotations du projet pour générer des fichiers de configuration !

    On a l'impression que le compilateur trouve bien l'annotation mais qu'il ne parvient pas à l'initialiser... J'ai pensé un moment qu'il y avait un décalage de bytecode (ce sont des annotations RUNTIME). Mais ça n'a rien donné.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @Documented
    @Target({ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    public @interface ServiceXXX {
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @SupportedAnnotationTypes(value={ "fr.xxx.soa.toolbox.locator.ServiceXXX" })
    @SupportedSourceVersion(SourceVersion.RELEASE_6)
    public class ServiceXXXAnnotationProcessor extends AbstractProcessor {
    ...

  8. #8
    Membre éclairé
    Homme Profil pro
    Architecte senior Java EE/Spring - ScrumMaster
    Inscrit en
    Juin 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte senior Java EE/Spring - ScrumMaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 229
    Par défaut ayé
    Les (longs) week-ends portent conseil et j'ai trouvé le pb...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @Documented
    @Target({ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    public @interface ServiceXXX {
    	public final static Log LOG = LogFactory.getLog(ServiceXXX.class); //FIXME
    	...
    	public static final String SERVICES_APPLICATION_CONTEXT = "serviceXXX-applicationContext.xml";
    Le pb survenait à cause d'une erreur d'initialisation d'un champ ajouté à l'annotation. En l'occurrence LOG, ci-dessus. J'ai pu garder les champs statiques de type String, mais pas de types complexes.
    Si j'ai bien compris, ça marcherait si l'annotation était dans le même projet que ses utilisateurs, mais pas d'un module à l'autre...

    Voilà voilà voilà...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PROC sgplot : option textattrs et annotation (annotate)
    Par Elcocco dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 01/02/2012, 12h00
  2. Réponses: 2
    Dernier message: 16/02/2007, 09h22
  3. [EJB3] Annotations non reconnues
    Par ericw78 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 01/03/2006, 21h35
  4. [FPDF] Comment mettre une annotation sur un Pdf déjà existant en PHP
    Par shequet dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 13/09/2005, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo