An example application for my book The Java Module System. The Service Monitor is an application that observes a hypothetical network of microservices by
It is split into a number of subprojects that focus on specific concerns. Each project has its own directory that contains the known folder structure, e.g. src/main/java
.
It was developed as a Java 8 application and now needs to be made compatible with Java 9+ and then be modularized.
Each of the branches contains a different version of the project:
master
: starting point, Java 8migrated
: compatible with Java 9 to 11modularized
: partially modularizedIn the project's root folder:
mvn clean install
java -cp 'app/*' monitor.Main
curl http://localhost:4567/stats/json
curl http://localhost:4567/stats/json64 | base64 -d
curl http://localhost:4567/stats/xml
Here's what you're facing. (If you get stuck, check the guide.)
BASE64Encoder
is gone ~> use Base64.getEncoder
insteadjavax.annotation
between java.xml.ws.annotations and jsr-305 ~> patch java.xml.ws.annotationsURLClassLoader
~> use system property java.class.path
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4