# Java Client The Java client workspace contains the Gradle scaffold for the MXAccess Gateway client library, generated protobuf/gRPC bindings, a test CLI project, and JUnit tests. ## Layout ```text clients/java/ settings.gradle build.gradle src/main/generated/ mxgateway-client/ mxgateway-cli/ ``` `mxgateway-client` generates Java protobuf and gRPC sources from `../../src/MxGateway.Contracts/Protos`. The Gradle protobuf plugin writes those generated sources under `src/main/generated`, which matches the client proto manifest in `../proto/proto-inputs.json`. Do not edit generated files by hand. `mxgateway-cli` depends on `mxgateway-client` and provides the `mxgw-java` application entry point used by later CLI implementation work. ## Build And Test Run the Java checks from `clients/java`: ```powershell gradle test ``` The build uses the Java 21 Gradle toolchain, compiles generated protobuf/gRPC code, and runs JUnit 5 tests for the scaffold and CLI entry point. ## Related Documentation - [Client Proto Generation](../../docs/client-proto-generation.md) - [Java Client Detailed Design](../../docs/clients-java-design.md) - [Java Style Guide](../../docs/style-guides/JavaStyleGuide.md)