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 :

ClassCircularityError et release 1.6.0_21


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Info
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Info

    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Par défaut ClassCircularityError et release 1.6.0_21
    Salut à tous !

    Depuis que j'ai updaté java en passant à la release 1.6.0_21 mon code me renvois l'erreur java.lang.RuntimeException: java.lang.ClassCircularityError.

    J'ai beau prendre le problème ans tous les sens y'a quelque chose de fondamental qui apparemment m'échappe et c'est pourquoi je viens vers vous ... (au bout du rouleau )

    Description rapide : j'ai une page html+php+javascript sur laquelle je crée un menu interactif au bout duquel j'envois une requete à une base de données, et j'envoie les résultat à une applet JAVA pour me faire un ou des beaux graphiques et ce de la façon suivante (je prends des racourcis ici mais c'est pour que vous compreniez la démarche):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    for ($i=0;$i<count($parameter);$i++) {
       echo "<APPLET\n";
       echo "CODEBASE=\"./applets\"";
       echo "CODE=\"applet.init.AppletGraph\" WIDTH=100% HEIGHT=".$height."\n";
       echo "ARCHIVE=\"jcommon-1.0.16.jar, jfreechart-1.0.13.jar, jxl.jar, iText-5.0.1.jar, javacsv.jar, sAppletGraph.jar\">\n";
       echo "<PARAM NAME=parameter VALUE=\"".$parameter[$i]."\">\n";
       echo "<PARAM NAME= ....
     
       $indice=0;
       $string="";
       $select="select TO_CHAR(TS, ...
       while ($rowSelect = oci_fetch_array($reqSelect, OCI_NUM+OCI_RETURN_NULLS)) {
          $time=$rowSelect[0]; // TS
          $value=$rowSelect[1]; // PARAMETER
     
          if ($string == "") { $string=$time."%".$value; }
          else { $string=$string.'@'.$time.'%'.$value; }
          if (strlen($string) >= 50000) { 
             echo "<PARAM NAME=\"valeur".$indice."\" VALUE=\"".$string."\">\n";
             $indice++;
             $string="";
          }
       }
    }
    Ensuite viens la fameuse Applet qui me cause des soucis. Comme je n'arrive pas à me faire une idée de l'origine du problème j'espère que vous ne m'en voudrez pas de vous mettre tout le code (pas très long du tout) qui consiste en 2 classes, une avec la méthode init() de l'applet et l'autre avec des méthodes plus liées au graphique même.

    Donc maintenant mon problème n°1:
    Lorsque l'utilisateur fait une requete pour obtenir le graphique d'un seul paramètre, pas d'erreur !
    Lorsqu'il demande 2 (ou plus) paramètres là ça déconne et java m'affiche un graphique (une applet fonctionne correctement) et l'autre est la source de l'erreur suivante :

    Exception générale
    Nom: AppletGraph
    java.lang.RuntimeException: java.lang.ClassCircularityError: org/jfree/chart/ChartPanel

    Détail peut-être important : cela le fait qu'avec Windows, pas avec Linux !!


    mon problème n°2: il concerne la mémoire ou plutôt d'apparentes fuite de mémoire java. Lorsque je charge ma page web, j'arrive sur un premier menu, qui après choix m'en crée un autre ...etc, jusqu'à arriver au bouton "Créer le graphique". Si je ne recharge pas ma page web (et donc me retape tout les menus ...) et que je clic par exemple plusieurs fois consécutives sur "Créer le graphique" au fur et mesure la mémoire que consomme java (que je contrôle avec la console en pressant sur la touche "m") augmente sans arrêt jusqu'à arriver à la limite que j'avais fixée pour java et ce quelqu'elle soit, 256m, 512m ou plus.


    Voilà, j'espère avoir été suffisamment concis sans trop vous avoir saoulé !

    Merci d'avance pour votre aide et votre temps consacré à lire ce post.

    Nodule.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre confirmé
    Profil pro
    Info
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Info

    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Par défaut
    Pas de réponses, donc soit mon post est incompréhensible (si c'est le cas prière de me le signaler) soit que personne n'a d'idée (si c'est la cas prière là aussi de me confier la moindre petite chose qui pourrait vous passer par la tête).

    Juste petite précision au cas ...
    Mon serveur http est sous Linux (Apache 2.0) et je compile mon code JAVA avec Eclipse (export ... sous .jar) sous Linux, et ma base, Oracle Database Express Edition sous Linux aussi.
    Est-ce que ça pourrait expliquer mon problème n°1 qui n'apparait que sous Windows ?

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    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 483
    Par défaut
    pourriez vous donner le stacktrace complet de l'exception que vous mentionnez.

    Aussi, puisque ca n'arrive que sous windows, avez vous tentez une réinstallation (on est pas a l'abris d'une installation foireuse)

    Ce genre d'erreur arrive normalement quand vous avez réussi par bidouille a compiler ce genre de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class A extends B{
    }
     
    public class B extends A{
    }

  4. #4
    Membre confirmé
    Profil pro
    Info
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Info

    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Par défaut
    voici le stacktrace de l'exception :

    java.lang.RuntimeException: java.lang.ClassCircularityError: org/jfree/chart/ChartPanel
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.ClassCircularityError: org/jfree/chart/ChartPanel
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.lang.Class.getConstructor0(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.Dialog$1.run(Unknown Source)
    at java.awt.Dialog$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Dialog.show(Unknown Source)
    at java.awt.Component.show(Unknown Source)
    at java.awt.Component.setVisible(Unknown Source)
    at java.awt.Window.setVisible(Unknown Source)
    at java.awt.Dialog.setVisible(Unknown Source)
    at sun.plugin.util.PluginSysUtil.execute(Unknown Source)
    at sun.plugin.util.PluginSysUtil.delegate(Unknown Source)
    at com.sun.deploy.util.DeploySysRun.execute(Unknown Source)
    at com.sun.deploy.util.DeploySysRun$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.util.DeploySysRun.executePrivileged(Unknown Source)
    at com.sun.deploy.ui.UIFactory.showMixedCodeDialog(Unknown Source)
    at com.sun.deploy.security.CPCallbackHandler.showMixedTrustDialog(Unknown Source)
    at com.sun.deploy.security.CPCallbackHandler.access$1000(Unknown Source)
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.checkAllowed(Unknown Source)
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.check(Unknown Source)
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.access$1500(Unknown Source)
    at com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.getResource(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.lang.Class.getConstructor0(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    Exception : java.lang.RuntimeException: java.lang.ClassCircularityError: org/jfree/chart/ChartPanel

    J'ai sinon bien entendu vos remarques concernant l'origine possible de cette exception. C'est d'ailleurs ce type d'exemple qui est généralement cité quand on fait une recherche sur le web concernant cette exception. Seulement, à moins que quelque chose m'échappe dans ma façon de coder, il ne me semble pas avoir eu recours à ce genre de déclaration croisées.
    Mais avec le stacktrace peut-etre quelque chose vous sautera aux yeux ... merci à vous tchize_ !

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    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 483
    Par défaut
    je doute que vous soyez responsable, ca dois plutot etre une c*** dans l'installation java chez vous, sinon l'erreur serait la même quelle que soit la jvm

    Rien d'utile a mes yeux dans le stacktrace, malheureusement.

  6. #6
    Membre confirmé
    Profil pro
    Info
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Info

    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Par défaut
    Et donc quand vous parliez de refaire l'installation il s'agissait de celle de java ?
    Si oui y'a t'il des spécification ou des recommandations pour installer java sur windows ?

Discussions similaires

  1. regsvr32 failed en debug mais pas en release
    Par afan dans le forum DirectX
    Réponses: 1
    Dernier message: 09/06/2004, 11h32
  2. Condition sur debug et release
    Par xave dans le forum MFC
    Réponses: 3
    Dernier message: 04/02/2004, 16h04
  3. bloqué en mode Release
    Par matsch77 dans le forum MFC
    Réponses: 3
    Dernier message: 07/01/2004, 18h17
  4. Ma version release ne fonctionne pas
    Par totof42 dans le forum C++Builder
    Réponses: 2
    Dernier message: 25/11/2003, 14h15
  5. Gros Problème avec DirectShow et la méthode RELEASE
    Par Olivier Delmotte dans le forum DirectX
    Réponses: 3
    Dernier message: 10/03/2003, 19h10

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