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

Java Discussion :

it is indirectly referenced from required .class file (encore)


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut it is indirectly referenced from required .class file (encore)
    petit résultat d'une génération par Maven
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    package org.lsst.ccs.testers
    	^
    The type org.lsst.ccs.command.LocalCommandDictionary cannot be resolved. It is indirectly referenced from required .class files
    aucun code ici ne référence cette classe manquante....
    un code (appelons le X) utilisé ici (dans ce module Maven) utilise effectivement cette classe manquante ....
    et alors?
    A la compilation on demande de suivre cette dépendance? Je ne vois pas pourquoi le compilateur ferait ça .......
    Le suivi des versions est correct: ce module Maven dépend bien de la bonne version du module qui définit X
    et ce module qui contient X a bien la bonne dépendance vers la classe manquante ....
    Décidément je ne comprends rien à Maven .....
    après qu'à l'exécution j'aie besoin de tout le monde je peux le comprendre .... (et c'est le cas) mais à la compil?
    quel est le sens de ce message?
    Merci

  2. #2
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    bon j'ai réussi à m'en sortir par magie pure ...
    juste le 15000° bug de Maven
    ("bug" est peut être excessif : maven ne sait pas détecter des petites incohérences dans une arborescence complexe et fait alors n'importe quoi au lieu de tousser)

  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
    Ca se produit dans ces cas là, grosso modo:

    B extends A

    B.class existe car B a déjàété compilé


    C fait un import de B mais ne dispose ni de A.java ni de A.class

    le compilateur est coincé. Comme il ne connait pas A, il ignore quelles sont les méthodes publique de A et donc est incapable de faire une résolution de méthodes correctes sur B.


    Ce qui entraine ce message.


    Ca se produit aussi si A n'est pas en extends mais en implements (même problème)

  4. #4
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Ca se produit dans ces cas là, grosso modo:

    B extends A

    B.class existe car B a déjàété compilé


    C fait un import de B mais ne dispose ni de A.java ni de A.class

    le compilateur est coincé. Comme il ne connait pas A, il ignore quelles sont les méthodes publique de A et donc est incapable de faire une résolution de méthodes correctes sur B.


    Ce qui entraine ce message.


    Ca se produit aussi si A n'est pas en extends mais en implements (même problème)
    ça c'est sensé ... mais le plus extraordinaire dans l'affaire est que la classe manquante était utilisée DANS le code référencé mais dans aucun élément de l'API (paramètre, type retour) donc je n'y ai rien compris.
    Maven référençait la classe X selon deux chemins de version différents .... et son algo de choix reste mystérieux (même s'ils prétendent le contraire j'ai un tas de cas dans lequel la version de code effectivement choisie n'est pas celle qu'on attend en application des règles .... je déteste Maven pour celà mais j'ai pas le choix il faut que je vive avec ....)

  5. #5
    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
    que je sache, le compilateur maven ne fait que faire appel au compilateur fournis dans la java. Donc les règles sont les mêmes que celles de javac.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/09/2013, 17h55
  2. Erreur "Indirectly referenced from required .class file"
    Par oni13 dans le forum Général Java
    Réponses: 5
    Dernier message: 20/08/2012, 13h44
  3. Réponses: 2
    Dernier message: 27/05/2010, 14h06
  4. Referencer une super classe
    Par MrBlonde666 dans le forum Général Python
    Réponses: 2
    Dernier message: 02/07/2005, 17h52
  5. [Débutant][JNDI] Erreur "bad class file"
    Par giffle dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 05/01/2005, 10h23

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