JBang: Як вивчати Java легко

Java довгий час мала репутацію мови, яка потребує занадто багато «ритуалів»: створення структури каталогів, налаштування Maven або Gradle, написання довгих pom.xml лише для того, щоб протестувати одну ідею.

JBang — це інструмент, який змінює правила гри, дозволяючи запускати Java-код так само легко, як скрипти на Python або Bash.


Що таке JBang?

JBang — це утиліта для командного рядка, яка дозволяє створювати, редагувати та запускати самодостатні Java-скрипти. Основна ідея полягає в тому, що вам не потрібен проект, щоб написати код. Ви просто створюєте файл .java, додаєте кілька спеціальних коментарів для залежностей, і JBang бере на себе все інше: завантаження бібліотек, компіляцію та запуск.


Ключові можливості

  1. Запуск без компіляції вручну: Ви просто пишете jbang script.java, і він працює.
  2. Керування залежностями через коментарі: Ви можете підключати будь-які бібліотеки з Maven Central прямо в тілі файлу: //DEPS info.picocli:picocli:4.6.3
  3. Використання конкретних версій JDK: JBang може сам завантажити та встановити потрібну версію JDK (завдяки інтеграції з SDKMAN чи Foojay), якщо її немає у системі.
  4. Скрипти в один рядок: Можливість запускати код прямо з URL (наприклад, з GitHub Gist).
  5. Інтеграція з IDE: JBang може генерувати тимчасові файли проекту для IntelliJ IDEA або VS Code, щоб ви мали автодоповнення коду.

Як це працює? (Приклад)

Припустимо, ви хочете написати скрипт, який робить HTTP-запит. Замість створення цілого Maven-проекту, ви створюєте файл Hello.java:

///usr/bin/env jbang "$0" "$@" ; exit $?
//DEPS com.fasterxml.jackson.core:jackson-databind:2.15.2

import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;

public class Hello {
    public static void main(String[] args) throws Exception {
        var mapper = new ObjectMapper();
        var message = Map.of("greeting", "Привіт з JBang!", "status", "success");
      System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(message));
    }
}
Java
Тепер просто запустіть його:
jbang Hello.java
Bash

JBang завантажить Jackson, скомпілює клас і виведе JSON у консоль.


Чому це важливо для розробника?

  • Прототипування: Потрібно перевірити, як працює нова бібліотека? Напишіть JBang-скрипт за 2 хвилини.
  • Автоматизація (DevOps): Java — потужна мова з чудовою стандартною бібліотекою. За допомогою JBang її можна використовувати для написання складних скриптів автоматизації замість Bash.
  • Навчання: Новачкам не потрібно пояснювати структуру src/main/java. Вони просто пишуть код у файлі.
  • CLI інструменти: JBang дозволяє легко створювати консольні утиліти, які можна розповсюджувати як посилання на код.

Як почати?

Встановити JBang дуже просто. Якщо у вас є SDKMAN, виконайте:

sdk install jbang
Bash

Або через Homebrew (macOS):

brew install jbangdev/tap/jbang
Bash

Після встановлення спробуйте виконати команду:

jbang init --template=hello hello.java
jbang hello.java
Bash

Висновок

JBang повертає в екосистему Java відчуття легкості. Це інструмент, який робить Java “скриптовою мовою”, не втрачаючи при цьому переваг статичної типізації та величезної кількості бібліотек. Якщо вам набридло створювати новий проект для кожної дрібниці — JBang створений саме для вас.

Ви вже пробували використовувати Java для написання системних скриптів, чи зазвичай обираєте для цього Python/Bash?

javaadmin

Супер крутий Dev

Related Posts

Налаштування Eureka Server

Eureka Server — це сервіс відкриття (service discovery) від Netflix, який став стандартом де-факто в екосистемі Spring Cloud для мікросервісної архітектури. У цій статті ми детально розглянемо, як правильно налаштувати Eureka Server для вашого проєкту. Що таке Eureka і навіщо він потрібен? В мікросервісній архітектурі сервіси потребують механізму для виявлення один одного. Замість жорсткого кодування адрес, Eureka надає динамічний реєстр сервісів, де кожен мікросервіс реєструється при запуску та…

Stream API в Java: Потужні рішення які покращать ваш код

Stream API з’явився в Java 8 і докорінно змінив підхід до обробки колекцій. Якщо ви досі пишете вкладені цикли для фільтрації та трансформації даних, ця стаття для вас. Розглянемо 5 практичних прикладів, які покажуть всю потужність Stream API. 1. Фільтрація та трансформація в один рядок Завдання: Отримати список email-адрес активних користувачів, відсортованих за алфавітом. Традиційний підхід: З Stream API: Код став коротшим, читабельнішим і декларативним. Ми описуємо “що”…

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Цікаве

Dependency Injection у Spring: пояснюємо на пальцях

  • Автор javaadmin
  • 31 Липня, 2026
  • 15 views
Dependency Injection у Spring: пояснюємо на пальцях

Java Collections Framework: List, Set чи Map?

  • Автор javaadmin
  • 31 Липня, 2026
  • 29 views
Java Collections Framework: List, Set чи Map?

Оптимізуємо це: GraalVM Native Image, Leyden та CRaC

  • Автор javaadmin
  • 17 Липня, 2026
  • 57 views
Оптимізуємо це: GraalVM Native Image, Leyden та CRaC

JBang: Як вивчати Java легко

  • Автор javaadmin
  • 12 Травня, 2026
  • 131 views
JBang: Як вивчати Java легко

Agent Skills: Що це таке і чому про це варто знати

  • Автор javaadmin
  • 13 Квітня, 2026
  • 233 views
Agent Skills: Що це таке і чому про це варто знати

Dependency Injection в Java

  • Автор javaadmin
  • 9 Грудня, 2025
  • 407 views
Dependency Injection в Java