check
Run javac -Xlint:all and Error Prone by default, optionally as structured diagnostics.
When to use it
- Gate an agent edit before running tests.
- Collect exact diagnostics for a PR review comment or automated repair loop.
- Check a Java 25 compact script where a plain build tool would not understand the wrapper semantics.
Common workflows
jbx check src --json
jbx check src/main/java --json
jbx check Hello.java --no-error-prone --json
jbx check src test --warnings-as-errors --json
Real-life examples
Gate an agent edit before tests
jbx check src/main/java --json
jbx check src test --warnings-as-errors --json
Use check immediately after editing Java. It catches compiler, lint, and Error Prone diagnostics before a slower test run burns time.
Agent loop
- Run
jbx check <changed paths> --json. - Parse diagnostics by file, line, severity, and message.
- Patch the smallest source region that explains the diagnostic.
- Re-run the same check until JSON reports no blocking diagnostics.
Agent notes
Keep the checked path narrow while repairing, then widen to the full edited set before reporting. Do not scrape human diagnostics when --json is available.
If a checked file declares //SOURCES, jbx check compiles those source files first and adds the resulting classes to the check classpath. You should not need to manually pass helper files just to make declared source references resolve.
JSON and schema
jbx check --json returns structured diagnostics and command status. Example output and field notes: check JSON.
Example JSON:
{
"ok": true,
"diagnostics": [],
"compilerOutput": ""
}
Verification checklist
- JSON parses and includes the expected checked files.
- No
errordiagnostics remain before running executable code. --warnings-as-errorsis used when the repository treats warnings as CI failures.
Arguments and flags
This section is copied from the CLI help for this release so the page explains the actual accepted arguments.
jbx check
Check Java source files with javac diagnostics and Error Prone by default
Usage: jbx check [OPTIONS] [PATHS]...
Arguments:
[PATHS]... Java source files or directories. Defaults to the current directory [default: .]
Options:
--json
Emit structured diagnostics JSON
--no-error-prone
Disable Error Prone checks and run only javac/-Xlint diagnostics
--error-prone-version <ERROR_PRONE_VERSION>
Error Prone version to use when Error Prone is enabled [default: 2.39.0]
--warnings-as-errors
Treat javac and Error Prone warnings as errors
--deps <DEPS>
Additional dependency coordinates, same shape as //DEPS
--repo <REPOS>
Additional repository, same shape as //REPOS
--class-path <CLASSPATH>
Additional classpath entries
--javac-option <JAVAC_OPTIONS>
Additional javac option
--java <JAVA_VERSION>
Override requested Java version
--cache-dir <CACHE_DIR>
Override cache directory
-h, --help
Print help
Skill
Agents can fetch the matching versioned skill with:
jbx skill get jbx-check