Docs / Ecosystems
Open documentation actions
Java
Spring Boot and plain Java scaffolds with Maven or Gradle wrappers, ORM, auth, libraries, and tests.
Java projects support Spring Boot, Quarkus, and plain Java templates. Choose Java options for build tools, persistence, auth, application libraries, and test libraries.
Prerequisites
- Java 21.
- Git if you want repository initialization.
Scripted example
npm create better-fullstack@latest my-java-api -- \ --ecosystem java \ --java-web-framework spring-boot \ --java-build-tool maven \ --java-orm spring-data-jpa \ --java-auth spring-security \ --java-api spring-graphql \ --java-logging logback \ --java-libraries spring-actuator spring-validation flyway \ --java-testing-libraries junit5 mockito testcontainers \ --ai-docs none \ --version-channel stable \ --no-install \ --no-gitJava categories
| Category | Values |
|---|---|
| Web framework | spring-boot quarkus none |
| Build tool | maven gradle none |
| ORM | spring-data-jpa jooq mybatis none |
| Auth | spring-security keycloak none |
| API | spring-graphql none |
| Logging | logback none |
| Libraries | spring-actuator spring-validation flyway liquibase springdoc-openapi lombok mapstruct caffeine resilience4j spring-webflux spring-batch spring-kafka spring-mail spring-devtools micrometer-prometheus thymeleaf spring-amqp opentelemetry-java none |
| Testing libraries | junit5 mockito testcontainers assertj rest-assured wiremock awaitility archunit jqwik none |
Compatibility notes
- Spring Boot and Quarkus require Maven or Gradle.
- Java ORM, auth, and Spring-specific libraries require Spring Boot plus Maven or Gradle.
- Flyway requires Spring Data JPA.
- Some libraries are framework-specific. For example, Spring Batch, Spring Kafka, Spring Mail, Spring WebFlux, Springdoc OpenAPI, Actuator, and Spring Security target Spring Boot projects.
Generated behavior
- Maven projects use
./mvnw testfor verification when install is enabled. - Gradle projects use
./gradlew testfor verification when install is enabled. - Plain Java behavior is selected by using
--java-web-framework noneand compatiblenonevalues for framework-dependent categories. - AI instruction files are still available through
--ai-docs, including--ai-docs none.