Elide + JVM
Elide is a fully-featured Java and Kotlin toolchain, which can compile Java source code up to JDK 25, and Kotlin source code up to 2.3.x.
Elide can also run JVM programs, on Hotspot, or as guest code.
Protip
Elide can be used as a JAVA_HOME with any build tool or project.
Why a new toolchain?
JVM is an incredibly powerful runtime model; Java and Kotlin are beloved by millions of developers. So what's the problem?
Maven, Gradle, Bazel... these are all great build tools, each in their own way, which belong in the Build Tools Hall Of Fame, if such a thing existed.
However, each imposes tradeoffs for JVM developers:| JVM Build Tool | Inherent Drawbacks |
|---|---|
| Maven | Verbose output, you have to write XML |
| Gradle | Slow, learning curve, deeply frustrating |
| Bazel | Impossible learning curve/thin ecosystem |
| Dimension | How Elide Improves On Alternatives |
|---|---|
| DX | NPM-like invocation model, beautiful TUI |
| Speed | Powered by Native Image for insanely fast startup |
| Config | Works out of the box, no plugins/config needed |
| Build DSL | Pleasant hybrid of declarative + imperative (Pkl) |
Simplified mental model
Elide borrows from a nimbler dev experience which frontend developers might find familiar.
shell
> cat elide.pklpkl
amends "elide:project.pkl"
import "elide:Sources.pkl" as Sources
name = "my-elide-project"
jvm {
main = "sample.MainKt"
}
sources {
["main"] = new Sources.SourceSetSpec {
paths {
"src/main/kotlin<<>>*.kt"
}
}
}
dependencies {
maven {
packages {
"com.google.guava:guava:33.5.0-jre"
}
}
}shell
> cat src/main/kotlin/sample/Hello.ktkotlin
package sample
fun main() {
println("Hello from Kotlin")
}shell
> elide install
✅ Installed 17 dependencies in 1.2sshell
> elide build
✅ Built 1 Kotlin source file in 24msshell
Differences from conventional development with Gradle/Maven:
> elide run
Hello from Kotlin- Works-by-default for common use cases; no mess of plugins to get Kotlin and JUnit working.
- Extremely fast installer; compatible with conventional Maven and Gradle projects, but providing faster resolution and installation times.
- Fast start, fast exit; instead of long-running processes, builds are nimble and fast by default.
Compatible by default
Elide includes a complete drop-in compatible toolchain for JVM:
- Java Compiler, up to 20x faster than stock
- Kotlin Compiler, up to 35x faster than stock
- JAR Tool, for packing JARs from compiled output
- Container Builder, for packaging container images from JVM apps
Creature comforts built in
Elide includes extras which make JVM development fun again:
- Google Java Format
- ktfmt
- Full JDK toolchain, usable as
JAVA_HOME