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 :

Erreur "Indirectly referenced from required .class file"


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 125
    Par défaut Erreur "Indirectly referenced from required .class file"
    Bonjour,

    J'ai un problème sur un projet Maven qui ne veut pas accepter l'utilisation d'une méthode, voici un bout du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    protected Collection<Party> convertResponseListToParty(List<PartyViewForFindAndGetPartyResponse> value) {
     
    		if (null == value)
    			return null;
     
    		Collection<Party> result = respConverter.convert(value); //bug ici
    		return result;
    	}
    J'obtiens
    the type PartyViewForFindAndGetPartyResponse cannot be resolved. It is indirectly referenced from required .class files" sur la méthode convert.
    Ce qu'il y a c'est que j'obtiens aussi ce message lorsque je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    respConverter.convert(null);
    Et ce fameux objet PartyViewForFindAndGetPartyResponse est utilisé souvent dans cette classe.
    La classe correspondant à respConverter est importée, et la méthode est accessible, etc.

    Donc, j'ai lu qu'il pouvait s'agir du manque de référence à un .jar mais il n'y a aucune raison, ce projet est un copié/collé sur lequel j'ai du apporter quelques modifs et tous les jar sont présents.
    Ce qui m’inquiète c'est que cela arrive aussi quand je mets NULL à l’intérieur..

    Quelqu'un a une idée ?

    Merci d'avance pour votre aide.

  2. #2
    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 : 46
    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
    maven te dit simplement qu'il ne trouve nulle par la classe PartyViewForFindAndGetPartyResponse hors ton projet en a besoin pour compiler.

    Solution: lui donner la classe qui lui manque. Si cette classe est dans une librairies -> la référencer dans ton projet. Si elle devait faire partie de ton projet -> tu as du l'effacer / la déplacer par erreur.


    A noter que je constate que le nom donnée est "PartyViewForFindAndGetPartyResponse" et pas "un.package.PartyViewForFindAndGetPartyResponse", n'aurais-tu pas oublié un import quelque part?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 125
    Par défaut
    En vérité j'ai pas réécris le package ici car c'est un peu énorme ça devenait illisible ^^ mais il est écrit dans le message. Tu m'as eu...

    Pourtant mon import est reconnu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import com.interfaces.manageparty.customerdatamanagement.v2.ebsmodel.PartyViewForFindAndGetPartyResponse;
    sans erreur.

    Le POM de mon projet fait référence à un second projet, lequel contient cette classe listée ci-dessus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <dependency>
    		<groupId>${project.groupId}</groupId>
    		<artifactId>bss-wsdl</artifactId>
    </dependency>
    Preuve à l'appui, les 3/4 des objets que j'utilise ici sont issus de classes du projet bss-wsdl, tous reconnus sauf celui ci?? Qui est présent au même titre que les autres pourtant(vérifié).

    Normalement pas besoin d'inclure un Jar, la construction de mon bss-wsdl génère automatiquement des classes, qui seront incluses dans mon projet y faisant référence.

    Si c'est bien cette classe qui n'est pas reconnue, pourquoi l'erreur intervient à ce niveau là?
    J'ai par exemple plus haut défini un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Holder<java.util.List<PartyViewForFindAndGetPartyResponse>> partyResp = new Holder<java.util.List<PartyViewForFindAndGetPartyResponse>>();

  4. #4
    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 : 46
    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
    comme tu n'inclue pas la version dans ton pom,vérifie que les sources que tu contrôle sont bien celles de la version que tu utilise. Pas impossible que tu essaie d'utiliser une version plus ancienne qui n'avait pas cette classes

    un mvn dependency:tree te donnera l'arbre de dépendance où tu pourra vérifier les versions.

    note que à la compilation de la classe respConverter, tu as bien cette classes, c'est au moment ou t'essaie de la charger qu'on constate qu'elle dépend d'un truc qui n'est plus là. Comme tu fais de la compilation wsdl, regarde que ce n'est pas le compilateur wsdl qui te lache cette erreur

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 125
    Par défaut
    Ok c'est possible vu que j'ai mis à jour le projet bss-wsdl il y a peu.
    Pourtant je ne change jamais sa version qui est 1.0.0-SNAPSHOT, je clean & build tout chaque fois.

    Mais je vais voir dans cette direction c'est une piste probable merci

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 125
    Par défaut
    Ok j'ai trouvé la solution.

    La classe n'était pas la bonne, c'est Eclipse qui m'a proposé le mauvais import avec le magique ctrl + espace...
    Il utilisait la classe du parent (compilé avec cet ancien projet) et non la nouvelle contenue dans le package.

    En supprimant l'import automatique il a trouvé la bonne.
    Merci pour les explications ça m'a aiguillé

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

Discussions similaires

  1. it is indirectly referenced from required .class file (encore)
    Par professeur shadoko dans le forum Général Java
    Réponses: 4
    Dernier message: 15/04/2014, 12h22
  2. Erreur java : Bad version number in .class file
    Par walkie dans le forum Général Java
    Réponses: 6
    Dernier message: 12/06/2012, 14h09
  3. Erreur : cannot be referenced from a static context
    Par Belegkarnil dans le forum Langage
    Réponses: 2
    Dernier message: 21/12/2005, 07h24
  4. Réponses: 3
    Dernier message: 05/12/2005, 10h27
  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