Java довгий час мала репутацію мови, яка потребує занадто багато «ритуалів»: створення структури каталогів, налаштування Maven або Gradle, написання довгих pom.xml лише для того, щоб протестувати одну ідею.
JBang — це інструмент, який змінює правила гри, дозволяючи запускати Java-код так само легко, як скрипти на Python або Bash.
Що таке JBang?
JBang — це утиліта для командного рядка, яка дозволяє створювати, редагувати та запускати самодостатні Java-скрипти. Основна ідея полягає в тому, що вам не потрібен проект, щоб написати код. Ви просто створюєте файл .java, додаєте кілька спеціальних коментарів для залежностей, і JBang бере на себе все інше: завантаження бібліотек, компіляцію та запуск.
Ключові можливості
- Запуск без компіляції вручну: Ви просто пишете
jbang script.java, і він працює. - Керування залежностями через коментарі: Ви можете підключати будь-які бібліотеки з Maven Central прямо в тілі файлу:
//DEPS info.picocli:picocli:4.6.3 - Використання конкретних версій JDK: JBang може сам завантажити та встановити потрібну версію JDK (завдяки інтеграції з SDKMAN чи Foojay), якщо її немає у системі.
- Скрипти в один рядок: Можливість запускати код прямо з URL (наприклад, з GitHub Gist).
- Інтеграція з 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
BashJBang завантажить 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?






