This project uses Quarkus, the Supersonic Subatomic Java Framework.
If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ .
You can run your application in dev mode that enables live coding using:
./mvnw compile quarkus:dev
The application can be packaged using:
./mvnw package
It produces the simpleendpoints-1.0.0-SNAPSHOT-runner.jar
file in the /target
directory.
Be aware that it’s not an über-jar as the dependencies are copied into the target/lib
directory.
If you want to build an über-jar, execute the following command:
./mvnw package -Dquarkus.package.type=uber-jar
The application is now runnable using java -jar target/simpleendpoints-1.0.0-SNAPSHOT-runner.jar
.
You can create a native executable using:
./mvnw package -Pnative
Or, if you don't have GraalVM installed, you can run the native executable build in a container using:
./mvnw package -Pnative -Dquarkus.native.container-build=true
You can then execute your native executable with: ./target/simpleendpoints-1.0.0-SNAPSHOT-runner
If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.html.
You can check the original documents in here
First, include the docker extension. You can use an alternative extension.
./mvnw quarkus:add-extension -Dextensions="container-image-docker"
And then, build the image
./mvnw clean package -Dquarkus.container-image.build=true
It takes a long time.
./mvnw package -Pnative -Dquarkus.native.container-build=true -Dquarkus.container-image.build=true
But the image is thiner
docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
yo/simpleendpoints 1.0.0-SNAPSHOT 4202d87e3896 About a minute ago 384MB
docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
yo/simpleendpoints 1.0.0-SNAPSHOT 7f2ffeb77337 5 minutes ago 134MB
If you want to use that image in a Kind cluster, you can use the following
kind load docker-image yo/simpleendpoints:1.0.0-SNAPSHOT
docker create --env JAVA_HOME=/opt/java/ -p 9001:8080 --name my-container yo/simpleendpoints:1.0.0-SNAPSHOT
A Hello World RESTEasy resource
Guide: https://quarkus.io/guides/rest-json
-
GET /randomString
returns a json including a random String -
GET /environmentVariable/{environmentVariableName}
returns a json including a random String and the value of that environment variable. -
GET /slowBackEnd/{sleep}
returns a 200 waiting {sleep} milliseconds -
GET /httpResponseStatusCode/{httpResponseStatusCode}
returns {httpResponseStatusCode} HTTP Status Code