RSS Amplifier

Blog

JBang

jbang.devRSS feed ↗13 posts

Latest posts

Somehow, JBang Just Passed 3 Million Downloads

JBang just passed 3 million binary downloads . 🎉 I honestly never expected that number when I started tinkering with making Java easier to run back in 2019. But the fun part isn t the milestone itself. It s what the numbers behind it reveal. Because somewhere along the way, JBang seems to have grown into something quite different from what I originally set out to build. First: thank you Before I…

From Picocli to Æsh: How Porting JBang's CLI Made Everything Better

JBang 0.139.2 is out and it ships the biggest internal change in JBang s history: we replaced picocli with Æsh for all CLI parsing. 5.5× faster native startup, smart tab-completion, a new TUI for dependency search, and (the part I didn t expect) it made Æsh itself way better in the process. What started as a framework swap turned into an open-source feedback loop that improved everything it…

Java in Places You Do Not Expect It

JBang is about making Java something you can edit, build, run, deploy and share with minimum ceremony and optimally zero friction. This is a work in progress, and this week I feel we got a big step closer to the ultimate goal. Best way to show this? Just try it yourself - it takes 5 seconds. Try Java in your browser Click this link → Run Java in your browser - wait a moment and you have a running…

Introducing jbang-fmt

I really did not want to do this, but after I and others tried to convince google-java-format one too many times to not mess with JBang directives like //DEPS or the ///usr/bin/env lines, I finally gave up and made my own. While I m a fan of tools like Spotless, their command-line usage is still too cumbersome. This prompted me to create an improved solution called jbang-fmt, in the hope that its…

Manifest Tool

Say hello to mf@jbangdev — the new, delightfully simple way to peek inside any JAR’s manifest! Ever wondered what secrets lurk in META-INF/MANIFEST.MF ? Tired of squinting at cryptic key-value pairs or wrangling with unzip just to see what s inside? Now you can summon manifest magic with a single command: mf `jbang info jar com.h2database:h2:2.2.224` This will use jbang to fetch the jar for h2 and…

JBang moving into CommonHaus Foundation

JBang and its associated projects is joining as a founding project of the CommonHaus foundation . CommonHaus is a brand-new foundation which focus is on providing an independent home for projects like JBang that are funded by independents and with room for project indivduality. Other founding projects are Hibernate , Jackson , OpenRewrite , JReleaser & Morphia . Why JBang in a foundation? The…

Introducing jbanghub

Today we are introducing JBangHub ! JBang always allowed everyone easily make their own java/kotlin/groovy/etc. command line tools available in a jbang catalog. All it takes is that you make a jbang-catalog in your project, organization or website. This is what makes things like jbang jreleaser@jreleaser and jbang minecraft-server@microsoft possible with minimal effort. These can then be called…

jbang-python: Java in your Python

Happy to announce jbang-python - a pypi package which brings your Java to your Python project or notebook. jbang-python supports running any kind java code that JBang supports. Wether that is a script from the AppStore , a Maven GAV, a jar or simply a java file stored in your project. Example In your requirements.txt add: jbang-python or install it using pip install jbang Then in your python code…

jbang-npm: Java Script in your JavaScript

Today we are announcing jbang-npm a npm package which brings you Java Script to your JavaScript project. jbang-npm joins jbang-maven and jbang-gradle as tools that brings the power of Java Script to your favourite build setup. jbang-npm supports running any kind java code that JBang supports. Whether that is a script from the AppStore , a Maven GAV, a jar or simply a java file stored in your…

JBang Rewind 2021!

We just closed on a very busy 2021 for JBang, and especially in the last few weeks, things progressed quite a bit. Therefore, I thought it would be nice to give a quick overview to recognize the progress and give you a chance to catch up! December 31st JDoodle updates their iOS and Android versions to include JBang support. You can now edit and run Java/JBang on the go. December 29th Guide to…

JEP 408: Simple Web Server with JBang

In March JEP: 408: Simple Web Server was announced. One of JEP 408 s goals is to make an easy to use web server available with Java using java -m jdk.httpserver . It is a nice idea and I m looking forward to see it happen. That said - you do not need to wait for Java 18+ to get this. You can use jbang httpd@jbangdev today with Java 1.8 and upwards. It is a script I wrote in a few hours after…

JBang Avatar

It is getting very close to the first anniversary of first commit of JBang. To celebrate I looked around to see what we could do and was reminded about good old Gource . With Gource you can render the history of a git repository and get a nice animated video, including flying icons for each author. Trouble is that by default they are just faceless heads - lets get some faces to all those names. I…

Beyond Hello World!

A simple script you can run with jbang is "Hello World" using jshell ( .jsh ). System.out.println("Hello " + ((args.length>0)?args[0]:"jbang")); You can run the above by putting it in a file named: hello.jsh and run jbang hello.jsh . To expand on this we will make a Java file ( .java ) which uses an external dependency to make the text a bit more fancy. In this case we ll use a library called…