NetBeans y los errores de FTP con Java 7 en Windows 7/Vista

Actualmente hay una combinación para los desarrolladores PHP que usan NetBeans 6.8+? como IDE primaria, Windows 7 o Vista y Java 7. Una función interesante de NetBeans es que te permite subir, bajar y sincronizar archivos directamente mediante FTP a un servidor remoto. El problema es el siguiente, el firewall de Windows no esta configurado para la utilización de sockets IPv6, los cuales, a diferencia de las versiones anteriores de Java, son usados por Java 7 cuando IPv6 esta habilitado y se están utilizando direcciones IPv6 mapeadas a IPv4, asi como las transferencias en modo Pasivo de FTP. Por lo tanto NetBeans muestra errores de conexión en el socket. El articulo del Knowledge Base de Netbeans Deploying a PHP Application on a Remote Web Server Using the NetBeans IDE advierte acerca de este problema.

Hay 2 posibles soluciones, una especifica para NetBeans y otra general para Java 7 sobre Windows 7/Vista. En NetBeans lo que se puede hacer, es iniciar el IDE con otra JVM, utilizando el parámetro --jdkhome <dir> donde dir es la ruta al directorio de la JVM que queramos utilizar. Otra opción es modificar el archivo de configuración de NetBeans el cual se encuentra en ruta_de_directorio_de_netbeans\etc, donde, cerca del final se encuentra el parámetro netbeans_jdkhome y cambiaremos algo como esto:

netbeans_jdkhome="C:\Program Files (x86)\Java\jdk1.7.0_XX"
 

Por algo como esto:

netbeans_jdkhome="C:\Program Files (x86)\Java\jdk1.6.0_XX"
 

Esto depende de la versión de la JVM que tengamos instalada a parte de Java 7. La solución general, no solo para NetBeans, si no toda aplicación que utilice sockets IPv6 y transferencias en modo Pasivo, es configurar el firewall de Windows como se muestra en este post. Desde una consola de comandos con permisos de administrador, ejecutamos el siguiente comando para deshabilitar el filtrado de FTP:

netsh advfirewall set global StatefulFTP disable

Y listo! a subir, bajar y sincronizar que el mundo se va a acabar. Saludos.

Fuentes:

echo ‘Hola mundo!’;

Hacia algo de tiempo que quería empezar con esto, parece que hoy es el día, por fin empezare a escribir un blog hecho y derecho. ¿Cual será el contenido de este blog? Con exactitud no lo se, pero algo tendrá que ver con lo que en ese momento este trabajando, que por lo general será algo que tenga que ver con Tecnologías Web. Si lo leíste, gracias, si no igual y no te pierdes mucho de esta entrada.