Configurar Notepad++ para compilar codigo java

Ha mucha gente le encanta la simpleza y utilidad de este bloc de notas avanzado. Una de sus utilidades es la de ejecutar comandos externos, de manera que aprovechando esta funcion podemos compilar y ejecutar nuestros programas en java, veamos como se hace:
1.- Creamos un archivo por lotes 'compilar_java.bat' con lo siguiente:
echo off
PATH="c:\Program Files\Java\jdk1.6.0_07\bin"
TITLE COMPILANDO %1
CLS
echo Generando la clase...
javac %1
echo Ejecutando la clase:
echo .
echo .
java %2
pause
*La variable PATH debemos cambiarla por nuestro compilador de java instalado
2.-Vamos a notepad++, damos al menu ejecutar y escribimos $(NPP_DIRECTORY) y damos a ejecutar. Esta operación nos abrira la carpeta desde la cual se ejecuta el programa, es ahí donde debemos guardar el archivo 'compilar_java.bat'.
3.-Una vez guardado el archivo por lotes vamos de nuevo al menu 'ejecutar' y ponemos el siguiente texto:
$(NPP_DIRECTORY)\compilar_java.bat $(FILE_NAME) $(NAME_PART)

4 comentarios:

  1. oye amigo me cuando hago esos pasos en el cmd aparece este mensaje "Error: no se a encontrado o cargado la clase principal 1"

    ResponderEliminar
    Respuestas
    1. A mi me funciono con una ligera modificación al código agrege cd %3 para cambiar a la ruta donde esta el archivo mira:

      echo off
      PATH="C:\Program Files\Java\jdk1.7.0_72\bin"
      TITLE COMPILANDO %1
      CLS
      echo Generando la clase...
      cd %3
      javac %1
      echo Ejecutando la clase:
      echo .
      echo .
      java %2
      pause

      Y al momento de ejecutar le agregue un parametro:
      $(NPP_DIRECTORY)\compilar_java.bat $(FULL_CURRENT_PATH) $(NAME_PART) $(CURRENT_DIRECTORY)

      Eliminar
    2. Si la ruta tiene espacios usa entre comillas las variables:
      $(NPP_DIRECTORY)\compilar_java.bat "$(FULL_CURRENT_PATH)" $(NAME_PART) "$(CURRENT_DIRECTORY)"

      Eliminar
    3. Buenisimo, justo lo que buscaba! me sirvio, gracias :D

      Eliminar

Gracias por tu comentario. Tú opinión es muy valiosa.