- Maven 3.6.x
- GraalVM 21.0.0 with JDK 1.8 https://www.graalvm.org/downloads/
$ # switch to GraalVM 21.0.0
$ mvn -Pnative -DskipTests clean package
$ ./target/rsocket-graal-demo
$ # open a new tab
$ rsc tcp://localhost:42252 --request --route request-response -d Jackie --debug
Please refer: https://www.graalvm.org/reference-manual/native-image/BuildConfiguration/#assisted-configuration-of-native-image-builds
Compress GraalVM native image binary with upx:
$ upx -7 -k target/rsocket-graal-demo
- RSocket: https://rsocket.io/
- GraalVM: https://www.graalvm.org/
- upx: the Ultimate Packer for eXecutables https://github.com/upx/upx
- rsc: RSocket Client CLI https://github.com/making/rsc
- Spring Native documentation: https://docs.spring.io/spring-native/docs/current/reference/htmlsingle/
- Announcing Spring Native Beta: https://spring.io/blog/2021/03/11/announcing-spring-native-beta