Rechercher : dans
Par :

Web app // Servlet // pb avec lib externe

Dernière réponse le 10 nov 2009 à 17:08:30 Fou riant, le 10 nov 2009 à 15:28:27 
 Signaler ce message aux modérateurs

Bonjour,

Houston! We got a Problem!!
Que je vous explique plus précisément ou est le problème....

Voilà, je suis en train de développer un Servlet en Java déployé ensuite sur un serveur Apache Tomcat 6. Jusqu'à là rien d'extraordinaire...mais, dans une action (genre DoGet(...)), je fait appelle à un .jar externe.
La lib qu'on me fourni est bien loader, cependant, l'initiation de la classe nécessite un fichier .properties et c'est ce fichier qui me pose problème.

L'appel ce passe de la manière suivante, et je n'ai pas le choix :
(on appellera la classe TOTO)
TOTO.init(login, password);

puis TOTO.[les autres méthodes qui m'intéressent](agrs...)

la méthode "init" demande un fichier .properties, ça ne parait pas merveilleux, mais c'est là que ça se complique, car le fichier de conf en question n'est pas trouvé par la classe.
J'ai essayé de mettre le fichier properties dans à peu près tous les dossiers possibles et inimaginables de l'application, rien à faire, le fichier n'est pas vu par la classe TOTO!

En farfouillant un peu la lib, j'ai trouvé la manière dont était récupéré le fichier :

Properties p = new Properties();
InputStream in = p.getCass().getRessourceAsStream("fichier.properties");
p.load(in);


J'ai recopier ce code dans mon code (en local) et ça ne marche pas.
Par contre si je mets :

Properties p = new Properties();
ClassLoader loader = this.getCass().getClassLoader();
InputStream in = loader.getRessourceAsStream("fichier.properties");
p.load(in);

Et ben ça marche nickel...mais je ne peut pas changer la lib (restriction obligatoire)

Quelqu'un a-t-il une idée sur le sujet, genre en triturant le bootclasspath ou autre?

Merci d'avance pour toutes possibles réponses...
Cordialement
"Fais de ta vie un rêve et d'un rêve une réalité..." (St Ex.)

...::Fou Riant::...

Configuration: Windows 2003
Safari 532.0

Meilleures réponses pour « web app // Servlet // pb avec lib externe » dans :
Disque dur externe USB non reconnu sous Windows VoirSi Windows ne reconnaît pas votre disque dur externe, veuillez vérifier les points suivants : Dans le panneau de configuration : Double-cliquer sur Outils d'administration, Cliquer sur Gestion de l'ordinateur Cliquer sur Gestion des...
[Aspirateur de pages HTML] Comment aspirer un site Web ? VoirHTTrack est un excellent aspirateur, gratuit en licence GNU GPL (libre). HTTrack permet de télécharger un site web d'Internet vers votre disque dur, en construisant récursivement tous les répertoires, récupérant html, images et fichiers du serveur...
[Webmaster] Publier facilement une vidéo dans une page web VoirPublier une vidéo dans une page web n'est pas toujours évident: Selon le format (AVI, MPG, MOV...) tout le monde ne possède pas forcément le bon plugin et le bon codec. En revanche, la quasi-totalité des navigateurs possèdent le plugin Flash (SWF)....
Télécharger MediaPlayerConnectivity VoirMediaPlayerConnectivity est une extension pour Mozilla Firefox permettant de lancer une vidéo en streaming contenue dans une page web dans un player externe ! Fonctionnalités Remplace le flux pas un simple bouton Fonctionne avec les flux...
Télécharger Dr.Web CureIt! VoirUtilitaire GRATUIT et simple d'utilisation pour désinfecter votre ordinateur des virus et de nombreux codes indésirables, mis à disposition par Dr.Web Anti-virus et mis à jour une à plusieurs fois par heure. CureIT! détecte et supprime : Les vers...
Télécharger K9 Web Protection VoirK9 Web Protection est un logiciel de contrôle parental permettant de contrôler et de limiter les accès à Internet de son enfant. Il obtient cinq étoiles sur six sur le site filtra.info, ce qui le positionne comme un des meilleurs logiciels de...
Servlets - Gestion des sessions VoirHTTP: un protocole non connecté Le protocole HTTP est un protocole non connecté (on parle aussi de protocole sans états, en anglais stateless protocol), cela signifie que chaque requête est traitée indépendamment des autres et qu'aucun historique...
Servlets - Gestion des formulaires VoirIntroduction aux formulaires Les servlets rendent très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML, c'est-à-dire une interface graphique permettant à l'utilisateur de saisir des données. Grâce à la balise...
Servlets - Le Java Servlet Development Kit (JSDK) VoirIntroduction au JSDK Le JSDK (Java Servlet Development Kit) est un package contenant l'ensemble des classes et des interfaces nécessaires au développement de servlets. De plus le JSDK de Sun contient un serveur web et un moteur de servlets...

1

 Fou riant, le 10 nov 2009 à 17:08:30

Je tiens à préciser que le fichier properties est externe au jar importer. Juste pour spécifier un peu plus mon problème...
je vous donne aussi mon architecture pour avoir une meilleur vision du projet:

./.
..| META-INF/.
..|.................| MANIFEST.MF
..|
..| WEB-INF/.
..................| classes/.
..................|............| com/.
..................|.....................| api/.
..................|.....................|.......| dao/.
..................|.....................|.......|.......| (*.class)
..................|.....................|.......| domain/.
..................|.....................|.......|...........­..|(*.class)
..................|.....................|.......|...........­..|(*.hbm.xml)
..................|.....................|.......| servlet/.
..................|.....................|.......|...........­|(*.class)
..................|.....................|.......| util/.
..................|.....................|...............|(*.­class)
..................|.....................| hibernate.cfg.xml
..................| conf/.
..................| |(*.properties)
// J'ai aussi essayé de mettre le fichier ou alors le dossier dans tous les répertoires possibles
// comme "classes" qui est dans le classpath de base.
..................| lib/.
..................| |(*.jar)
..................| web.xml
"Fais de ta vie un rêve et d'un rêve une réalité..." (St Ex.)

...::Fou Riant::...

Répondre à Fou riant
Collection CommentÇaMarche.net