Bonjour à tous
Je suis en train de créer une application sur Android qui se connecte à un web service JSON / REST sur un serveur Tomcat 9. J'utilise JEE8.
Le service web qui est sur le serveur Tomcat 9 va ensuite mettre à jour des lignes dans des tables d'une base de données d'un serveur MySQL 5.7.
Tout est en local sur ma machine de développement.
J'ai tout d'abord codé le service web qui communique avec la base de données sous Eclipse Oxygen sous forme d'un 'Dynamic Web Project'.
Après avoir inclut les jars nécessaire dans la librairie du WEB-INF, j'ai testé et tout se passe bien : le service web est accessible et met à jour la base de données.
Ensuite, il m'a fallut créer l'application Android. J'ai donc créé un projet Android Studio 3.0.1.
Pour plus de sûreté, j'ai inclus comme librairies tous les jars que j'avais dans le répertoire "lib" du dossier "WEB-INF" de mon service web de manière à ne pas avoir de "classNotFound" ...
Les librairies qui commencent par une majuscules sont les miennes dont j'ai besoin pour assurer le fonctionnel de l'appli.
Désormais lorsque je lance mon appli et que je teste un appel à mon web service sous Apache 9, j'ai une exception qui se produit :
E/AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl" on path: DexPathList[[....
J'ai été étonné car je n'avais pas besoin de ce Xercès lorsque je faisais mes tests sous Eclipse ...
J’imaginais naïvement qu'il me fallait importer une librairie de plus dans mon dossier "lib" : j'ai donc ajouté xercesImpl-2.0.0.jar.
Seulement, en compilant mon projet et bien avant de lancer l’exécution j'obtiens une erreur :
Je suis donc bloqué : si je ne met pas le jar Xerces ça plante parce qu'il n'est pas là, si je met le jar Xerces ça plante parce qu'il ne peut pas compiler ...
J'ai tenté d'ajouter la ligne multiDexEnabled true dans le fichier graddle mais sans succès ...
Là j'avoue que je suis coincé et je suis loin d'être un expert en Android ...
Quelqu’un a t il fait face à ce problème et a trouvé une solution ?
Merci de votre aide.
Partager