A logo showing the text blog.marcnuri.com
English
Inicio»Java»JBang: Desbloquea el potencial de Java para hacer scripts

Entradas Recientes

  • MCP Tool Annotations: Añadiendo Metadatos y Contexto a Tus Herramientas de IA
  • Fabric8 Kubernetes Client 7.2.0 está disponible!
  • Conectarse a un servidor MCP con JavaScript y AI SDK
  • Conectarse a un servidor MCP con JavaScript y LangChain.js
  • El Futuro de las Herramientas para Desarrolladores en la era de la IA

Categorías

  • Antiguo
  • Front-end
  • Go
  • Herramientas
  • Industria y negocios
  • Inteligencia Artificial
  • Java
  • JavaScript
  • Operaciones
  • Personal
  • Proyectos personales

Archivos

  • mayo 2025
  • abril 2025
  • marzo 2025
  • febrero 2025
  • enero 2025
  • diciembre 2024
  • noviembre 2024
  • agosto 2024
  • junio 2024
  • mayo 2024
  • abril 2024
  • marzo 2024
  • febrero 2024
  • enero 2024
  • diciembre 2023
  • noviembre 2023
  • octubre 2023
  • septiembre 2023
  • agosto 2023
  • julio 2023
  • junio 2023
  • mayo 2023
  • abril 2023
  • marzo 2023
  • febrero 2023
  • enero 2023
  • diciembre 2022
  • noviembre 2022
  • octubre 2022
  • agosto 2022
  • julio 2022
  • mayo 2022
  • marzo 2022
  • febrero 2022
  • enero 2022
  • diciembre 2021
  • noviembre 2021
  • octubre 2021
  • septiembre 2021
  • agosto 2021
  • julio 2021
  • diciembre 2020
  • octubre 2020
  • agosto 2020
  • junio 2020
  • mayo 2020
  • marzo 2020
  • febrero 2020
  • enero 2020
  • noviembre 2019
  • octubre 2019
  • julio 2019
  • diciembre 2018
  • agosto 2018
  • julio 2018
  • junio 2018
  • mayo 2018
  • marzo 2018
  • febrero 2018
  • noviembre 2017
  • octubre 2017
  • agosto 2017
  • julio 2017
  • enero 2017
  • julio 2016
  • enero 2016
  • diciembre 2015
  • noviembre 2015
  • diciembre 2014
  • marzo 2014
  • febrero 2011
  • junio 2008
  • mayo 2008
  • abril 2008
  • enero 2008
  • junio 2007
  • mayo 2007
  • abril 2007
  • marzo 2007

JBang: Desbloquea el potencial de Java para hacer scripts

2020-06-13 en Java etiquetado Java / JBang por Marc Nuri | Última actualización: 2025-02-08
English version

Introducción

Java es un lenguaje muy potente, pero tradicionalmente no ha sido conocido por su rapidez en la creación de scripts o prototipos. De hecho, la verbosidad y el código boilerplate de Java han sido a menudo citados como razones por las que los desarrolladores recurren a otros lenguajes para tareas de scripting o incluso el desarrollo de aplicaciones pequeñas.

JBang es una herramienta que pretende cambiar esa percepción, convirtiendo a Java en un ciudadano de primera clase en el mundo de los scripts. Es una herramienta diseñada para permitirte escribir, ejecutar y compartir scripts en Java con un mínimo de configuración.

Una imagen con el logo de JBang
Una imagen con el logo de JBang

En este artículo, te daré una visión general de JBang y te mostraré cómo empezar a usarlo hoy mismo.

¿Qué es JBang?

JBang es una revolucionaria herramienta de línea de comandos que transforma Java en un lenguaje de scripting, haciéndolo tan accesible como Python o el scripting de Shell. Permite a los desarrolladores crear, editar y ejecutar programas Java autocontenidos con una configuración mínima, sin necesidad de una configuración de proyecto completa o engorrosos archivos de compilación. Mediante la eliminación de la necesidad de herramientas de compilación tradicionales como Maven o Gradle, JBang simplifica el desarrollo en Java, permitiendo la experimentación y la creación rápida de prototipos. Ya estés escribiendo un script rápido o prototipando una idea, JBang te permite trabajar con la sintaxis Java estándar mientras gestiona automáticamente las dependencias e incluso las versiones del JDK cuando sea necesario.

Con JBang puedes:

  • Ejecutar código Java directamente desde archivos .java o incluso desde URLs.
  • Gestionar dependencias en línea mediante sencillas anotaciones o directivas de comentarios.
  • Depurar y editar scripts de forma sencilla en IDEs populares como IntelliJ IDEA.

Su lema, "Desata el poder de Java", encapsula perfectamente su misión de hacer que Java sea más accesible para la creación de scripts y tareas sencillas.

¿Por qué usar JBang?

Durante años, los desarrolladores de Java han luchado con la falta de una solución de scripting sencilla. Aunque existen herramientas como JShell, no abordan por completo la necesidad de gestión de dependencias o portabilidad de scripts.

JBang llena este vacío con características como:

  • Facilidad de uso: Puedes escribir un archivo .java independiente con un método principal (o incluso usar scripts al estilo de JShell) y ejecutarlo inmediatamente.
  • Gestión de dependencias: JBang resuelve automáticamente las dependencias de Maven Central u otros repositorios, lo que facilita la inclusión de bibliotecas en tus scripts. Puedes añadir dependencias directamente en tu código fuente con comentarios especiales (por ejemplo, //DEPS ...), y JBang se encarga del resto.
  • Portabilidad: Funciona en Windows, macOS y Linux. Es fiel al lema "Escribe una vez, ejecuta en cualquier lugar".
  • Arranque del JDK: ¿No tienes Java instalado? ¡No hay problema! JBang puede descargar e instalar el JDK necesario por ti.
  • Integración con herramientas modernas: JBang es compatible con frameworks y librerías populares como Quarkus, Spring y Micronaut. Incluso puedes ejecutar scripts de JBang en GitHub Actions o en pipelines de CI/CD de GitLab.

¿Cómo empezar con JBang?

Para empezar con JBang, necesitas instalar la herramienta en tu sistema.

Instalación

La instalación de JBang es sencilla, puedes usar un solo comando para ello:

  • Linux/macOS/AIX/WSL bash:
    bash
    curl -Ls https://sh.jbang.dev | bash -s - app setup
  • Windows PowerShell:
    Windows PowerShell
    iex "& { $(iwr -useb https://ps.jbang.dev) } app setup
  • SDKMan:
    bash
    sdk install jbang

Importante

Considera verificar la fuente y el checksum del script antes de ejecutarlo para seguir las mejores prácticas de seguridad.

Como alternativa, puedes descargar los binarios de JBang para tu sistema directamente desde la página web. JBang también admite la instalación a través de gestores de paquetes como Homebrew en macOS o Chocolatey en Windows.

Transcurrida la instalación, puedes ejecutar jbang --version para verificar que JBang se ha instalado correctamente.

Escribir tu primer script

Vamos a crear un sencillo script de "Hello, World!" usando JBang.

1. Inicializar el script

JBang proporciona una forma sencilla de crear un nuevo script ejecutando el siguiente comando:

bash
jbang init HelloWorld.java

Esto crea un archivo llamado HelloWorld.java con una plantilla básica para un script de JBang.

El siguiente fragmento de código contiene su contenido:

HelloWorld.java
///usr/bin/env jbang "$0" "$@" ; exit $?

import static java.lang.System.*;

public class HelloWorld {

    public static void main(String... args) {
        out.println("Hello World");
    }
}

2. Ejecutar el script

Para ejecutar el script, ejecuta el siguiente comando:

bash
jbang HelloWorld.java

Deberías ver la salida Hello World en tu terminal.

Comentarios o directivas de JBang

Los scripts de JBang pueden incluir comentarios o directivas especiales que proporcionan información adicional al tiempo de ejecución de JBang.

Si examinamos el script HelloWorld.java, vemos el siguiente comentario al principio:

///usr/bin/env jbang "$0" "$@" ; exit $?

Este es un shebang común que indica al sistema que ejecute el script con JBang. Si tu sistema es compatible con shebangs, puedes ejecutar el script directamente desde la línea de comandos sin especificar jbang explícitamente.

Hay muchas otras directivas que puedes usar en los scripts de JBang, como:

DirectivaDescripción
//DEPSAñade dependencias a tu script.
//DEPS org.apache.commons:commons-lang3:3.12.0
//SOURCESIncluye archivos fuente adicionales.
//SOURCES src/main/java/MyUtils.java
//FILESIncluye archivos adicionales.
//FILES src/main/resources/config.properties
//JAVAEspecifica la versión de Java a utilizar.
//JAVA 11
//COMPILE_OPTIONSEstablece opciones de compilación.
//COMPILE_OPTIONS --enable-preview

Estas son algunas de las directivas más comunes en los scripts de JBang. No obstante, hay muchas más disponibles, y puedes encontrar la lista completa en la documentación de JBang.

Conclusión

JBang cierra la brecha entre el desarrollo Java tradicional y el scripting rápido comunmente visto en lenguajes como Python o Bash. Ya estés automatizando tareas, experimentando con nuevas librerías o enseñando Java a principiantes, JBang elimina las barreras tradicionales asociadas con el desarrollo Java.

¡Pruébalo y expermienta tú mismo cómo JBang puede agilizar tu flujo de trabajo de desarrollo Java!

Twitter iconFacebook iconLinkedIn iconPinterest iconEmail icon

Navegador de artículos
Quarkus + Picocli: Web scraper para extraer proyectos dependientes en GitHubKubernetes Client for Java: Presentando YAKC
© 2007 - 2025 Marc Nuri