JavaC
From APIDesign
JavaC is the Java source to bytecode compiler.
Nb-Javac
There is a port of the latest (as of today JDK 26+35) javac to run on any JDK8+ maintained by me at https://github.com/JaroslavTulach/nb-javac/ - originally developed because of NetBeans needs, but useful on its own as a separate component.
Javac in NetBeans
For years NetBeans editing capabilities were based on nb-javac - a manual fork of official OpenJDK javac codebase distributed under GPLwithClassPathException license. In 2021, it was decided the ApacheNetBeans project can distribute the nb-javac component as part of NetBeans binaries. The same javac can then be used on any JDK. That has significantly simplified distribution, bundling, testing of the NetBeans IDE on various JDK versions.
The page about nb-javac component contains details and historic notes about such an autogenerated backport of JavaC from the latest JDK that can run on JDK8.
DEW
Thanks to TulachMoreDEW project, JavaC can run in a browser. But who cares!?

