Digamos que tiene un gran ColdFusion heredado sobre Java en la parte superior de la aplicación de Windows. El acceso a los archivos se realiza a través de java.io.File y de CFFILE (que a su vez también usa java.io.File), pero no se centraliza de ninguna manera en una única biblioteca de acceso a archivos. Además, supongamos que tiene rutas de archivos codificadas en el código y también en una base de datos.Java: en busca de hack para manejar las rutas de archivos de Windows en Linux
En otras palabras, suponga que las rutas de archivo no pueden cambiar. Podrían ser considerados como rutas de archivos de Windows locales o remotos:
- c: \ temp \ archivo.txt
- \\ server \ share \ archivo.txt
¿Hay una manera de ejecutar este aplicación en Linux con cambios mínimos de código? Estoy buscando soluciones creativas que no impliquen tocar el código heredado.
Algunas ideas:
- ejecutarlo en vino. Esto realmente funciona, porque WINE traducirá las rutas locales y tiene un cliente samba para las rutas remotas.
- ¿Hay alguna manera de anular java.io.File para realizar la traducción de la ruta del archivo con código personalizado? En este caso, traduciría las rutas remotas a un punto de montaje.
Terminé prototipando mi propio archivo java.io.File descargando la última versión del JDK y ramificándolo. Estoy trabajando en una solución de AoP que sería más fácil de mantener. –
¡Eso suena a horas o diversión! :) – OscarRyz