Accéder à un répertoire hors webapps
Bonjour à tous.
Le sujet à déjà été abordé ici : http://www.developpez.net/forums/d40...rouve-webapps/
J'ai sensiblement le même soucis : je dois pour des raisons techniques externaliser le répertoire qui contiendra la liste des mes éditions électroniques.
projet tomcat J2EE / struts 2.0 / hibernate / JasperReport / Log4j
Environnement Windows : tout va bien
Environnement Unix : echec. le répertoire temporaire auquel je tente d'accéder est /toto/tata. Ce dernier est existant dans la console ("cd /toto/tata" me met bien dans le bon répertoire)
Après 1000 echecs j'en suis venu à faire un test simple
Dans ma classe de démarrage je fait un test
Code:
1 2 3 4 5
| File repTemp = new File("/toto/tata/");
if (!repTemp.exists())
{
/** Traitement d'arret **/
} |
et évidement je tombe dans le traitement d'arrêt.
idem avec "/toto/tata"
Également tenté avec la récupération du chemin absolu qui n'est visiblement pas la solution vu qu'il me propose le chemin de ma webapps suivit de "/toto/tata" ce que je ne veux pas avoir justement...
On m'a proposer de récupérer le chemin absolu et de le remonter avec des ../../.. [...] ../toto/tata ce que je refuse à faire pour des raisons évidente de codage de merde
Je sais que certains parlent de mettre en contexte le répertoire en question
Code:
<Context path="/Mypath" docBase="D ton chemin" />
je n'aime pas cette manière, afin de permettre la bascule entre différent environnement on doit concentrer les fichiers properties et éviter d'en foutre partout.
J'ai lu que par sécurité Tomcat refuserais de lire/écrire en dehors de la webapps... mais comment ce fait il alors que mon log4j.xml paramétré pour sortir en /log/pgm.log fonctionne lui !
Google ne m'a pas encore donné de solution, je me retourne donc vers vous ;)
Merci d'avance à tous ceux qui se pencheront sur mon pb
NB : les droits d'écritures/lecture UNIX peuvent ils jouer sur mon soucis ?
/toto -> drwxrwxr-x
/toto/tata -> drwxr-xr-x