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 ME Discussion :

Problème de parser SAX après déploiement


Sujet :

Java ME

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut Problème de parser SAX après déploiement
    Bonjour à tous,

    Dans ma MIDlet j'utilise un parser SAX pour lire un (assez) gros fichier XML. Tout va bien dans l'émulateur de Sun, mais une fois arrivé sur mon téléphone, j'ai un NoClassDefFoundError : javax/xml/parsers/FactoryConfigurationError.

    Cette classe semble faire partie de la JSR 172, c'est à dire la Java ME Web Services Specification. Comment faire pour l'inclure dans mon jar lors du packaging ?

    Merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut
    euh
    help ?

  3. #3
    Membre expérimenté
    Inscrit en
    Juin 2003
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 292
    Par défaut
    Citation Envoyé par guenievre Voir le message
    Cette classe semble faire partie de la JSR 172, c'est à dire la Java ME Web Services Specification. Comment faire pour l'inclure dans mon jar lors du packaging ?

    Merci.
    euhh tu as pu faire ca? je croyais que si ton device ne support pas la JSR tu ne pourras pas l ajouter comme ca, sinon tout les device supporteront toute les JSR.
    Je crois que tout les company de tel, creer leur propre API et apres en dessus de ca ils implementent les JSR.
    peut etre que je me trompe, mais je voudrais bien avoir plus d info sur comment tu as fait?

    Cheers,

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut
    Citation Envoyé par jhaythem Voir le message
    euhh tu as pu faire ca? je croyais que si ton device ne support pas la JSR tu ne pourras pas l ajouter comme ca, sinon tout les device supporteront toute les JSR.
    Je crois que tout les company de tel, creer leur propre API et apres en dessus de ca ils implementent les JSR.
    peut etre que je me trompe, mais je voudrais bien avoir plus d info sur comment tu as fait?

    Cheers,
    Ben justement, je n'y suis pas arrivé -_-
    Que veux-tu savoir précisément ? Si c'est du code, je peux te mettre un exemple :
    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
     
    import javax.xml.parsers.FactoryConfigurationError;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    ...
     
    	public static Map charge(final String pNomFichierMap) {
    		MapHandler mapHandler = new MapHandler();
    		try {
    			// On utilise SAX pour parser cette map (car sinon avec DOM =>
    			// OutOfMemoryError)
    			SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();
    			saxParser.parse(Fichier.ouvreInputStream(pNomFichierMap), mapHandler);
    		} catch (FactoryConfigurationError e) {
    			e.printStackTrace();
    		} catch (ParserConfigurationException e) {
    			e.printStackTrace();
    		} catch (SAXException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
     
    		return map;
    	}
    Quant au MapHandler, c'est une simple classe fille du DefaultHandler. QUand j'exécute ce code dans l'émulateur, ça marche très bien.

    Je me suis apperçu d'un truc : si tu utilise ktoolbar (du WTK) pour packager le projet, tu peux choisir, dans Settings, d'inclure des API additionnelles, dont la JSR172.

    En ce qui me concerne, j'utilise EclipseME pour packager, et je voudrais éviter d'utiliser ktoolbar.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut
    Bon j'ai peut-être trouvé la solution avec EclipseME. Il faut ajouter le jar nommé j2me-ws.jar au projet, comme indiqué ici :
    http://eclipseme.org/docs/advJarFiles.html

    Je suis en train de tester mais j'ai des soucis avec mon téléphone un peu merdique. Je vous fait un retour tout à l'heure.

    Edit : le jar en question se trouve dans le repertoire d'install de WTK.

    Edit 2 : Avec WTK 2.5.1, il faut aussi j2me-xmlrpc.jar. Le contenu de j2me-ws.jar a changé.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut
    Bon ça a effectivement resolu le probleme mais maintenant j'ai un nullPointerException (alors que je ne l'ai pas dans l'emulateur)

    C'est la loose

  7. #7
    Membre expérimenté
    Inscrit en
    Juin 2003
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 292
    Par défaut
    en fait ce que je voulais dire, c est que par exemple ds le cas des Blackberry c est un java device assez mature, donc meme avant les JSR il contient deja en APPI interne ces specification et les JSR sont ajoute en dessus des API internes. donc c est pour ca qui me semble que pour un blackberry tu pourras pas installer des jar comme ca ( ou bien sauf si jar lib utilisent des JSR deja existants dans le device). mais je crois pour d autre device tu n auras pas ce probleme parcequ ils ont deja construit leur bibliootheque en dessus ds JSR.

    J espere que tu a s compris ce que je voulais dire, dans tout les cas bonne continuation et fais nous part de tes progress....

    Cheers,

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut
    En fait le jar j2me-ws.jar, qui implémente la JSR172, est inclut directement par EclipseME dans mon jar final, au moment du packaging. Donc normalement, c'est indépendant de ce qui est déjà installé sur la machine cible.

    En attendant j'ai toujours mon NullPointerException, qui n'arrive que sur le téléphone et pas sur les emulateurs (même l'émulateur Nokia ne plante pas). Vous ne savez pas comment je pourrais débugger ça ? Je me sens un peu coinçé là.

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

Discussions similaires

  1. [Débutant] problème exécution avec silverlight après déploiement
    Par zakotcha dans le forum Silverlight
    Réponses: 0
    Dernier message: 27/02/2015, 16h48
  2. [XML] Problème avec le parser SAX
    Par carmensam dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 28/08/2009, 16h50
  3. Problème de lien après déploiement
    Par Iruddy dans le forum SharePoint
    Réponses: 6
    Dernier message: 09/04/2009, 11h52
  4. [SAX] Problème Parser SAX - UTF-8
    Par Bogs dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 01/12/2008, 02h51
  5. Problème de connection SQL après déploiement sur IIS
    Par Beaveroli dans le forum Général Dotnet
    Réponses: 7
    Dernier message: 24/05/2007, 10h12

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