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

Applets Java Discussion :

Chargement d'une applet(NoSuchMethodError)


Sujet :

Applets Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Chargement d'une applet(NoSuchMethodError)
    Bonjour,

    je dois lancer une applet dans un navigateur web mais lorsque je la lance j'ai une erreur du type "Applet [...] Notinited" et lorsque j'ouvre la console java, j'ai l'erreur suivante qui s'affiche:
    29 juil. 2008 12:07:53 org.apache.commons.digester.Digester endElement
    GRAVE: End event threw error
    java.lang.NoSuchMethodError: org.apache.commons.beanutils.MethodUtils.invokeMethod(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/ClassLjava/lang/Object;
    at org.apache.commons.digester.CallMethodRule.end(CallMethodRule.java:626)
    at org.apache.commons.digester.Rule.end(Rule.java:253)
    at org.apache.commons.digester.Digester.endElement(Digester.java:1222)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at org.apache.commons.digester.Digester.parse(Digester.java:1745)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:239)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:226)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:214)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:168)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:152)
    at AppletApplication.init(AppletApplication.java:51)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Je ne vois vraiment pas comment régler ce problème donc si quelqu'un connait la réponse et peut m'aider...

    Merci d'avance

  2. #2
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut
    l'exception laisse penser qu' il ya une erreur dans le code de l'applet, en particulier une méthode semble inconnue, comme le laisse supposer "java.lang.NoSuchMethodError".
    Vérifie le code et au besoin poste une partie ici.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Ok j'ai relu mon code et je ne trouve pas d'erreur donc je te poste mon code:

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    public class AppletApplication extends Applet {
     
     
    	private static final long serialVersionUID = 1L;
     
    public void init() {
    		super.init();
     
    		// - Paramètres de connexion à la base de données
    		String url = "jdbc:oracle:thin:@172.23.1.9:1521:M2AMT";
    		String login = "bougerol_";
    		String password = "boufon";
     
    		Connection connection = null; 
    		try {
    			// - Connexion à la base
    			OracleDriver monDriver = new oracle.jdbc.driver.OracleDriver();
     
    				DriverManager.registerDriver(monDriver);
    				connection  = DriverManager.getConnection(url, login, password);
     
    				// - Chargement et compilation du rapport
    				JasperDesign jasperDesign = null;
    				try {
    					jasperDesign = JRXmlLoader.load("C:\\testreport\\classic2.jrxml");
    				} catch (JRException e) {
    					e.printStackTrace();
    				}
    				JasperReport jasperReport = null;
    				try {
    					jasperReport = JasperCompileManager.compileReport(jasperDesign);
    				} catch (JRException e) {
    					e.printStackTrace();
    				}
     
    				// - Paramètres à envoyer au rapport
    				Map parameters = new HashMap();
    				parameters.put("Titre", "Titre");
     
    				// - Execution du rapport
    				JasperPrint jasperPrint = null;
    				try {
    					jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, connection);
    				} catch (JRException e) {
    					e.printStackTrace();
    				}
     
    				// - Création du rapport au format PDF
    				try {
    					JasperExportManager.exportReportToHtmlFile(jasperPrint, "C:\\testreport\\rapport.html");
    				} catch (JRException e) {
    					e.printStackTrace();
    				}
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    	}
     
       public void paint(Graphics g) {
         super.paint(g);
         g.drawString("classic2", 30, 10);
       }
       abstract class URLWindow extends Frame implements ActionListener {
     
    	private static final long serialVersionUID = 1L;
     
    	TextField urlField;
     
    	   Choice choice;
     
    	   AppletContext appletContext;
     
    	   public URLWindow(AppletContext appletContext) {
    	     super("Show a Document!");
     
    	     this.appletContext = appletContext;
     
    	     GridBagLayout gridBag = new GridBagLayout();
    	     GridBagConstraints c = new GridBagConstraints();
    	     setLayout(gridBag);
     
    	     Label label1 = new Label("URL of document to show:C:\\testreport\\classic2.html", Label.RIGHT);
    	     gridBag.setConstraints(label1, c);
    	     add(label1);
     
    	     urlField = new TextField("http://java.sun.com/", 40);
    	     urlField.addActionListener(this);
    	     c.gridwidth = GridBagConstraints.REMAINDER;
    	     c.fill = GridBagConstraints.HORIZONTAL;
    	     c.weightx = 1.0;
    	     gridBag.setConstraints(urlField, c);
    	     add(urlField);
     
    	     Label label2 = new Label("Window/frame to show it in:", Label.RIGHT);
    	     c.gridwidth = 1;
    	     c.weightx = 0.0;
    	     gridBag.setConstraints(label2, c);
    	     add(label2);
     
    	     choice = new Choice();
    	     choice.addItem("_self");
     
    	     c.fill = GridBagConstraints.NONE;
    	     c.gridwidth = GridBagConstraints.REMAINDER;
    	     c.anchor = GridBagConstraints.WEST;
    	     gridBag.setConstraints(choice, c);
    	     add(choice);
     
    	     Button button = new Button("Show document");
    	     button.addActionListener(this);
    	     c.weighty = 1.0;
    	     c.ipadx = 10;
    	     c.ipady = 10;
    	     c.insets = new Insets(5, 0, 0, 0);
    	     c.anchor = GridBagConstraints.SOUTH;
    	     gridBag.setConstraints(button, c);
    	     add(button);
     
    	     addWindowListener(new WindowAdapter() {
    	       public void windowClosing(WindowEvent event) {
    	         setVisible(false);
    	       }
    	     });
    	   }
     
    	   public void actionPerformed(ActionEvent event) {
    	     String urlString = urlField.getText();
    	     URL url = null;
    	     try {
    	       url = new URL(urlString);
    	     } catch (MalformedURLException e) {
    	       System.err.println("Malformed URL: " + urlString);
    	     }
     
    	     if (url != null) {
    	       if (choice.getSelectedIndex() == 0) {
    	         appletContext.showDocument(url);
    	       } else {
    	         appletContext.showDocument(url, choice.getSelectedItem());
    	       }
    	     }
    	   }
    	 }
    En espérant que tu puisses trouver quelque chose.
    Merci pour ton aide.

  4. #4
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut
    Ton applet ne fait pas appel explicitement à un parser, donc le parser doit etre appelé par tes objets JasperMachin. Dans ton code je ne vois pas ou est la ligne 51, c'est a ce niveau de ton code qu'il y a semble t-il un problème. Peux tu dire quelle est cette ligne? Tu es sur qu'il te manque pas un package?
    ps: utilise les balises CODE

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Salut,

    je suis novice en java et je ne comprends pas ce que tu me dit, désolé. Peux-tu t'expliquer ? Voici la ligne 51 que tu m'as demandé :

    jasperDesign = JRXmlLoader.load("C:\\testreport\\classic2.jrxml");

    Qu'est-ce qu'un "parser" et les balises "CODE" ?

  6. #6
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut
    Je suis un nvice en java aussi t'inquiète pas
    Un parser en gros c'est un programme qui va "analyser" un fichier (ou plus simplement une chaine), ici un fichier XML en l'occurrence, pour en retirer des informations (ou vérifier que le fichier est correctement écrit, de l'analyse syntaxique).
    Vu les messages d'erreurs, l'erreur n'est pas au niveau du code, je pense plutot qu'il te manque un jar, ou qu'il y a un problème de version (une méthode a été renommée par exemple). Va voir dans la FAQ ou il est question d'introspection en java pour en savoir plus (a partir de la je risque de dire beaucoup de betises). Pour ton problème je te conseille de retélécharger tes jars et de vérifier qu'il ne te manque rien.

  7. #7
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Merci pour tes conseils. J'ai vérifié et rajouté tous les JAR qu'il me manquait au fur et à mesure des erreurs que m'indiquait la console java et je me suis arrêté à celle-la car je ne vois vraiment pas d'où elle peut provenir.
    Je ne pense pas que ce soit au niveau du code effectivement car lorsque je le lance sous éclispe il m'affiche ce que je veux.

    Je suis paumé. Je n'ai plus d'idée et je dois rendre ce projet dans 2 semaines. Ca va être hardcore.

    Merci de m'avoir accordé un peu de ton temps.

Discussions similaires

  1. Problème de chargement d'une applet
    Par popy67 dans le forum Applets
    Réponses: 3
    Dernier message: 08/12/2008, 21h29
  2. detecter la fin de chargement d'une applet
    Par Jérémy Lefevre dans le forum Applets
    Réponses: 1
    Dernier message: 20/08/2007, 08h10
  3. chargement d'une Applet via Tomcat
    Par cacod dans le forum Applets
    Réponses: 2
    Dernier message: 23/10/2006, 10h27
  4. Problème de chargement d'une applet
    Par shindara dans le forum Applets
    Réponses: 3
    Dernier message: 19/07/2006, 07h39
  5. problème de chargement d'une Applet
    Par cladsam dans le forum Applets
    Réponses: 1
    Dernier message: 31/01/2006, 23h04

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