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…
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…
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…
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…
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 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…
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…
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…
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…
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…
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…
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…
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…