27 abril 2010

Acceso desde Tomcat a ficheros en discos externos

Problema: Apache Tomcat en Windows, dentro de un servlet se ha de hacer una operación de lectura sobre un fichero alojado en un disco externo, llamémosle Z:. Para acceder a dicho disco hay que determinar la ruta UNC, es decir:

Z:\carpeta1\carpeta2\fichero.txt

hay que transformarlo en

\\servidor\carpetaCompartida\carpeta1\carpeta2\fichero.txt

Esto por una parte, pero otra tanto otra fundamental es que el usuario sobre el que corre el servicio Tomcat, tenga permisos de lectura/escritura sobre la carpeta compartida, es decir, tenga acceso a

\\servidor\carpetaCompartida\carpeta1\carpeta2\fichero.txt

La prueba del 9 es la siguiente: si desde un programa hecho en java, puedes acceder a dicho fichero sin problemas, pero desde dentro del servlet no, entonces estamos en el caso de problemas de permisos.

Solución: (En Windows XP) Vamos a Panel de Control, Herramientas administrativas, y hacemos que el servicio se ejecute con el usuario que sí tiene acceso a dicho recurso compartido.

Espero que sea de utilidad.

No hay comentarios: