Generating an SDK
Generate a Java SDK by following the instructions on this page.
Initialize the fern folder
Initialize the fern folder with your existing OpenAPI specification, or start from scratch with a Fern Definition template. Specify your organization name using the --organization flag.
OpenAPI accepts both JSON and YAML formats. You can always convert a Fern Definition to OpenAPI or OpenAPI to a Fern Definition later on.
This creates a fern folder in your current directory.
OpenAPI
Fern Definition
Validate your API definition
Check that your API definition is valid, and fix errors before proceeding:
Add the SDK generator
Run the following command to add the Java SDK generator to generators.yml:
This command adds the following group to generators.yml:
Generate the SDK
Run the following command to generate your SDK:
If you have multiple APIs, use the --api flag to specify the API you want to generate:
This creates a sdks folder in your current directory. The resulting folder structure looks like this:
Set up GitHub repositories
Fern uses a multi-repo structure: your source repository contains the fern/ folder, and each SDK gets its own separate repository.
- Create a source repository for your
fern/folder if you don’t have one already (e.g.,your-org/your-api-definitions). - Create an SDK repository for your SDK (e.g.,
your-org/your-api-java-sdk). - Install the Fern GitHub App on both repositories.
Publish to Maven Central
Follow the Publishing to Maven Central guide to configure your package and set up automated publishing via GitHub Actions.