Hola,
Cita:
Iniciado por daveG ... NO me lo guarda en ningun lugar, y la unica manera que me ha funcionado es poniendo todo el path ...
Eso creo que no es completamente cierto, lo que sucede es que no has encontrado donde lo guarda. Cuando se ejecuta una aplicación cualquiera, ya sea dentro de un servicio o un contenedor de aplicaciones este toma la ubicación donde está corriendo, no donde está el código fuente.
Si estas usando Tomcat 6.0 seguramente lo encontrarás en un lugar como este:
Cita: C:\Archivos de programa\Apache Software Foundation\Tomcat 6.0\work\Catalina\localhost\Proyecto1\org\apache\j sp
O si usas NetBeans, este lo hace a traves de una trayectoria de contexto por lo que posiblemente lo encontrarás en un lugar como este:
Cita: C:\Archivos de programa\NetBeans 6.8\Mis Proyectos\Proyecto1\deploy\WEB-INF\classes\cal
Las rutas van a cambiar dependiendo de tu proyecto y muchos otros factores.
Lo que sucede es que el código está corriendo en ese lugar, y el Environment del sistema es diferente en tiempo de compilación al tiempo de ejecución, al obtener el 'current path' es completamente diferente en los dos estados. Si necesitas guardar el XML o cualquier otro documento en cualquier otro lugar vas a tener que usar rutas absolutas como lo estas haciendo u posiblemente obteniendo el path real de la aplicación
request.getRealPath("/").
Saludos,