Continuous Integration and Continuous Deployment with Java

Circle supports building Java applications using most common JDKs and build tools. Before each build, we look at your repository and infer commands to run, so most setups should work automatically. If your project has special requirements, you can augment or override inferred commands with a circle.yml file.


We have several versions of JDK pre-installed on Ubuntu 12.04 and Ubuntu 14.04 build images.

If you’d like a particular version, you can specify it in your circle.yml.

    version: openjdk7

Dependencies & Tests

Circle supports Apache Ant, Play Framework, Gradle, and Apache Maven out of the box. Depending on your build tooling, we will infer different commands:

Tool Dependency Resolution Testing
Maven `mvn dependency:resolve` `mvn integration-test`
Ant `ant`
Gradle `gradle dependencies` `gradle test`
Play `play dependencies` `play test`

You can easily customize inferred build commands in your circle.yml by setting the override, pre, post in the dependencies and test sections.