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 :

Erreur : too many parameters


Sujet :

Langage Java

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2004
    Messages : 61
    Points : 56
    Points
    56
    Par défaut Erreur : too many parameters
    Bonjour,

    J'ai généré des .java à partir d'un IDL (langage de description CORBA) avec le compilateur IDL-to-Java idlj (fourni dans le JDK). Seulement il m'a généré des méthodes (plus exactement des constructeurs, en effet la classe compte plus de 350 attributs) dont la signature est très longue et Eclipse me dit : "Too many parameters, parameter _AStoredFAnumber is exceeding the limit of 255 words eligible for method parameters."

    Connaissez-vous un moyen de contourner ce problème. J'hésite à aller réécrire du code généré automatiquement, je cherche surtout une solution rapide, efficace et simple à mettre en œuvre. Merci.

  2. #2
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Bonjour, 350 attributs ça me parait énorme pour une seule classe. Je vois 2 solutions :

    Tu revois la conception pour découper ta classe en plusieurs

    Tu déclares une classe attribut et ta classe principale contiendra un tableau d'attributs, ce qui donne ceci dans ton idl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    struct Attribut {
        string _cle;
        string _valeur;
    };
    typedef sequence<Attribut> AttributList;
     
    struct TaClasse {
        string _titi;
        string _tata;
        int _toto;
        AttributList _attributs;
    };

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2004
    Messages : 61
    Points : 56
    Points
    56
    Par défaut
    J'avais effectivement pensé à quelque chose dans ce goût-là, mais je voulais savoir si une autre solution existait. Pour la conception, je peux difficilement modifier les attributs de la classe (mais je te l'accorde, 350 attributs c'est énorme pour une classe) car elle doit respecter les interfaces fixées par les IDL... sinon ça va pas marcher

  4. #4
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Si tu ne peux pas modifier les idl, je ne connais pas de solution

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2004
    Messages : 61
    Points : 56
    Points
    56
    Par défaut
    Hum... Moi je ne m'occupe que de développer un client, donc je pense que le serveur va un peu râler si je m'amuse à modifier les IDL... S'il y en a un qui parle arabe et l'autre chinois, ça ne risque pas de marcher très fort. Bon enfin, je dispose déjà de la solution que tu as citée avant, c'est mieux que rien.

    Je laisse quand même le sujet ouvert pour que d'autres puissent suggérer d'autres solutions.

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    As tu essayé un autre compilateur que celui d'eclipse, par exemple le javac standard de Sun?

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2004
    Messages : 61
    Points : 56
    Points
    56
    Par défaut
    J'ai testé avec le javac standard de Sun et j'ai la même erreur

  8. #8
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    J'ai vu sur un forum une personne qui avait le même problème, sa solution a été d'éditer le fichier généré et de mettre en commentaire le constructeur qui est à l'origine de l'exception.
    Je ne sais pas si toi tu as besoin de ce constructeur...

    Cela me confirme mon premier avis, 350 attributs, c'est un problème de conception, ceux qui ont pondu ces idl devraient les remettre en cause.

  9. #9
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Juste pour information la spec du format des fichiers de classe au niveau de la machine virtuelle

    http://java.sun.com/docs/books/jvms/...doc.html#88659

    Donc de toute façon la conception d'un tel constructeur

    Z'ont fumé les gadjos qu'ont pondu çà?
    Ils ont déjà fait de l'objet?

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/04/2008, 09h38
  2. erreur: too many characters in constant...
    Par miminou dans le forum C++
    Réponses: 4
    Dernier message: 23/11/2005, 11h37
  3. erreur "too many initializers"
    Par miminou dans le forum C++
    Réponses: 4
    Dernier message: 19/10/2005, 21h53
  4. erreurs "too many connexion"... etc
    Par Jamie88 dans le forum Requêtes
    Réponses: 6
    Dernier message: 01/09/2005, 06h32
  5. Réponses: 4
    Dernier message: 29/09/2004, 09h05

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