Distributions
Distributions are bundles of source or class files needed to build or use Groovy.
All Apache projects provide a source zip which lets anyone build the software from scratch. If any doubt arises, you can regard the source zip as the authoritative artifact for each release. We also provide binary, downloadable documentation and SDK (combines src, binary and docs) convenience artifacts. You can also find a link to a non-ASF Windows installer convenience executable (if available).
Verification
We provide OpenPGP signatures ('.asc') files and checksums ('.sha256') for every release artifact. We recommend that you verify the integrity of downloaded files by generating your own checksums and matching them against ours and checking signatures using the KEYS file which contains the OpenPGP keys of Groovy's Release Managers across all releases.
Newer releases have two sets of verification links. The dist labelled links are through the normal Apache distribution mechanism. The perm labelled links are through the Apache archive server. The latter of these won't change but may not be available for a short while (usually less than a day) after a release. Older releases are only available from the archive server.
Groovy 5.0
Groovy 5.0 is the next major version of Groovy designed for JDK11+. Alpha releases are not recommended for production use.
5.0.0-alpha-11 distributions
Please consult the change log for details.
Groovy 4.0
Groovy 4.0 is the latest stable version of Groovy designed for JDK8+ with much improved JPMS support.
4.0.24 distributions
Please consult the change log for details.
Groovy 3.0
Groovy 3.0 is the previous stable version of Groovy designed for JDK8+ with a new more flexible parser (aka Parrot parser).
3.0.23 distributions
Please consult the change log for details.
Groovy 2.5
Groovy 2.5 is an earlier version of Groovy still in widespread use.
2.5.23 distributions
Please consult the change log for details.
Groovy 2.4
Groovy 2.4 is an earlier version of Groovy still in widespread use. We encourage users to upgrade from this version as we no longer support this version actively. Important: Releases before 2.4.4 weren't done under the Apache Software Foundation and are provided as a convenience, without any warranty.
2.4.21 distributions
Please consult the change log for details.
Other versions
Downloads for all versions are hosted (and mirrored) in:
You can also read the changelogs for all versions.
Invoke dynamic support
Please read the invoke dynamic support information if you would like to enable indy support and are using Groovy on JDK 7+.
Operating system/package manager installation
Installing Apache Groovy from a distribution zip is not hard but if you don't want the hassle, consider the alternatives listed here.
SDKMAN! is a tool for managing parallel versions of multiple Software Development Kits on most Unix-based systems:
$ sdk install groovy
Windows users: see the SDKMAN install instructions for potential options.
Homebrew is "the missing package manager for macOS":
$ brew install groovy
SnapCraft is "the app store for Linux". Groovy is supported in the store or via the commandline:
$ sudo snap install groovy --classic
MacPorts is a system for managing tools on macOS:
$ sudo port install groovy
Scoop is a command-line installer for Windows inspired by Homebrew:
> scoop install groovy
Chocolatey provides a sane way to manage software on Windows:
> choco install groovy
Linux/*nix users: you may also find Groovy is available using your preferred operating system package manager, e.g.: apt, dpkg, pacman, etc.
Windows users: consider also the Windows installer (see links above under Distributions).
From your build tools
If you wish to add Groovy as a dependency in your projects, you can refer to the Groovy JARs in the dependency section of your project build file descriptor:
Gradle | Maven | Explanation |
---|
Groovy versions 1.x to 3.x |
org.codehaus.groovy:groovy:x.y.z | <groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
<version>x.y.z</version> | Just the core of Groovy without the modules*. Also includes jarjar'ed versions of Antlr, ASM, and an internal copy of needed CLI implementation classes. |
org.codehaus.groovy:groovy-$module:x.y.z | <groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-$module</artifactId>
<version>x.y.z</version> | "$module" stands for the different optional groovy modules*. Example: <artifactId>groovy-sql</artifactId> . |
org.codehaus.groovy:groovy-all:x.y.z | <groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>x.y.z</version>
<type>pom</type> <!-- required JUST since Groovy 2.5.0 --> | Core plus all of the modules (excluding optional modules) according to the version packaging scheme**. |
Groovy versions 4.0+ |
As above but use org.apache.groovy instead of org.codehaus.groovy . |
For groovy-bom when using Gradle 6+ use implementation platform('org.apache.groovy:groovy-bom:x.y.z') instead of implementation 'org.codehaus.groovy:groovy-bom:x.y.z' . |
* Modules: 2.4.X: "ant", "bsf", "console", "docgenerator", "groovydoc", "groovysh", "jmx", "json", "jsr223", "nio", "servlet", "sql", "swing", "test", "templates", "testng" and "xml" 2.5.0: as above but excluding optional module "bsf" plus "cli-picocli", "datetime", "macro", "test-junit5". Optional modules: "bsf", "dateutil", "cli-commons" 2.5.1+: as above but "groovy-jaxb" is moved to become optional 3.0.0+: as above but "groovy-yaml" is a new optional module 4.0.0+: as above but "groovy-contracts", "groovy-typecheckers" and "groovy-macro-library" are new optional modules, "groovy-jaxb" and "groovy-bsf" are no longer supported, "groovy-yaml" is now included in "groovy-all", and "groovy-testng" is now an optional module |
** Packaging Scheme: 2.4.X: The core plus all the modules merged into one "fat jar". Optional dependencies are marked as optional, so you may need to include some of the optional dependencies to use some features of Groovy, e.g. AntBuilder, GroovyMBeans... 2.5+: A "fat pom" groovy-all-x.y.z.pom referring to the core plus all modules (excluding optional ones). In order to cater to the module system of Java 9+, the groovy-all-x.y.z.jar file is no longer available. |
Indy jars You can access the indy version of the core or a module jar by using the 'indy' classifier. |
Maven repositories
Note for the development community: developers needing access to pre-release artifacts to assist with integration testing leading up to an official release should consult the appropriate developer documentation.