blob: 5951affe5fe81c1dc1d561a508ef47f9b59c790f [file] [log] [blame] [view]
# Multiplication Function
This is a small, lightweight service built on top of Quarkus to perform
multiplication operations.
## Running the application in dev mode
You can run your application in dev mode that enables live coding using:
```shell script
mvn compile quarkus:dev
```
## Packaging and running the application
The application can be packaged using:
```shell script
mvn package
```
It produces the `quarkus-app/quarkus-run.jar` file in the `/target` directory.
Be aware that its not an _über-jar_ as the dependencies are copied into the `target/quarkus-app/lib` directory.
If you want to build an _über-jar_, execute the following command:
```shell script
mvn package -Dquarkus.package.jar.type=uber-jar
```
The application is now runnable using `java -jar target/multiplication-service-{version}-runner.jar`.
## Creating a native executable
You can create a native executable using:
```shell script
mvn package -Pnative
```
Or, if you don't have GraalVM installed, you can run the native executable build in a container using:
```shell script
mvn package -Pnative -Dquarkus.native.container-build=true
```
You can then execute your native executable with: `./target/multiplication-service-{version}-runner`
If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.html.
## Testing the Application
Simply run the application with:
```shell
$ mvn clean quarkus:dev -Dquarkus.http.port=8282
```
In a new terminal, execute a `curl` command to the root path:
```shell
$ curl -X POST \
-H 'Content-Type:application/json'\
-H 'Accept:application/json' \
-d '{"leftElement" : "5", "rightElement": "2" }' \
http://localhost:8282/
```
And expect a reply like this:
```json
{"multiplication":{"leftElement":5.0,"rightElement":2.0,"product":10.0}}
```