Skip to content

treetips/kotlin-quarkus-multiproject-example

Repository files navigation

kotlin-quarkus-multi-project-example

Features

Name Version Note
Intellij IDEA latest Required Plugins: ktfmt
Kotlin 1.9 With Java v21
Gradle 8.6
Quarkus 3.8 with multi project
SmallRye GraphQL Server 3.8
Picocli 3.7
sdkman latest

Setup

Install sdkman.

sdk list java | grep -i graalvm | grep -i ce | grep 21
 GraalVM CE    |     | 21.0.2       | graalce | installed  | 21.0.2-graalce

sdk install java 21.0.2-graalce

Set the version of Graal VM to GRAAL_VM_HOME in env.sh .

Usage

Local Environment

# admin
./run-admin.sh
# batch
./run-hello-batch.sh
./run-goodbye-batch.sh
# restful-api
./run-restfulapi-server.sh
# graphql
./run-graphql-query1.sh
./run-graphql-server.sh
# gRPC
./run-grpc-server.sh

Production Environment (Native)

# admin
./build-native-for-admin.sh
# batch
./build-native-for-batch.sh
# restful-api
./build-native-for-restfulapi-server.sh
# graphql
./build-native-for-graphql-server.sh
# gRPC
./build-native-for-grpc-server.sh

TIPS

What's the empty beans.xml?

resources/META-INF/beans.xml will allow you to DI beans that are outside of own project.

Details: Working with multi-module projects .