A multi-faceted language for the Java platform

Apache Groovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax. It integrates smoothly with any Java program, and immediately delivers to your application powerful features, including scripting capabilities, Domain-Specific Language authoring, runtime and compile-time meta-programming and functional programming.

Flat learning curve

Concise, readable and expressive syntax, easy to learn for Java developers

Smooth Java integration

Seamlessly and transparently integrates and interoperates with Java and any third-party libraries

Vibrant and rich ecosystem

Web development, reactive applications, concurrency / asynchronous / parallelism library, test frameworks, build tools, code analysis, GUI building

Powerful features

Closures, builders, runtime & compile-time meta-programming, functional programming, type inference, and static compilation

Domain-Specific Languages

Flexible & malleable syntax, advanced integration & customization mechanisms, to integrate readable business rules in your applications

Scripting and testing glue

Great for writing concise and maintainable tests, and for all your build and automation tasks


Apache Groovy events you shouldn't miss!

ApacheCon NA
New Orleans, Louisiana


The latest innovations from dozens of Apache projects and their communities in a collaborative, vendor-neutral environment.

There is a 2-day Groovy track covering latest news, functional programming with Groovy, Spock, Grails, Micronaut, Gradle, DSLs and more. Also, there is Groovy content in other tracks plus some special events like BoF sessions and other surprises.

For more events see the Events page

They all use Apache Groovy!