JHipster blueprint, Spring Boot Native blueprint for JHipster
This is a JHipster blueprint based on the research done by @mraible and @joshlong in their spring-native-examples repository.
For simplicity, it provides an embedded generator-jhipster and a CLI. To learn more, see the following blog posts:
- Introducing Spring Native for JHipster: Serverless Full-Stack Made Easy
- Use GitHub Actions to Build GraalVM Native Images
To install or update this blueprint:
npm install -g generator-jhipster-native
To build a native image, you need to install a JDK that is compatible with GraalVM. Please refer to the GraalVM Release Notes and install the appropriate JDK. Using SDKMAN simplifies the installation process.
sdk install java 21-graalce
To use this blueprint, run the below command
jhipster-native
When building a new application, we recommend enabling e2e testing with Cypress to ensure that no runtime errors occur.
? Besides Jest/Vitest, which testing frameworks would you like to use? (Press <space> to select, <a> to
toggle all, <i> to invert selection, and <enter> to proceed)
❯◉ Cypress
For available options, you can run
jhipster-native app --help
To build a native image, execute the following command:
npm run native-package
After that, set up peripheral services like PostgreSQL using npm run services:up
and ensure everything is ready.
Lastly, run the Native image and experience its fast startup 😊.
npm run native-start
If you've enabled e2e testing with Cypress, you can verify its operation using the following command:
npm run native-e2e
To use an unreleased version, install it using npm + git repository.
npm install -g jhipster/generator-jhipster-native
jhipster-native --skip-jhipster-dependencies
This blueprint embeds a compatible generator-jhipster version, but it's possible to use an updated generator-jhipster by running the jhipster
cli with blueprints
option instead of the builtin jhipster-native
, like:
npm install -g generator-jhipster@latest
jhipster --blueprints native