Skip to main content

Java SDK

RBS provides comprehensive Java support with automatic JDK management, Maven-compatible dependency resolution, JUnit 5 auto-inclusion, Spring Boot support, linting, and container image building.

Setup

Toolchain

Register a Java toolchain in WORKSPACE.rbs. RBS automatically downloads the JDK.

Dependencies

Define external Java packages using java_repository. Supports Maven coordinates.

Rules

java_library

Creates a reusable Java library (JAR).
AttributeTypeDescription
namestringUnique target name (required).
srcslistJava source files.
depslistDependencies (local or @external://).
resourceslistResource files to include in the JAR.

java_binary

Creates an executable Java application.
AttributeTypeDescription
namestringUnique target name (required).
srcslistJava source files.
mainstringFully qualified main class (required).
depslistDependencies.
resourceslistResource files (e.g., application.properties).
javaoptslistJVM options.

java_test

Runs Java tests. JUnit 5 is automatically included — no manual dependency required.
AttributeTypeDescription
namestringUnique target name (required).
srcslistTest and source files.
depslistDependencies.
argslistJUnit 5 console launcher arguments.

java_lint

Runs static analysis on Java source files.

Example: Spring Boot Application