Skip to content

Commit 3574807

Browse files
author
Nicolai Parlog
committed
Update README
1 parent d39e6d9 commit 3574807

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

README.md

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
An example application for my book [_The Java Module System_](https://www.manning.com/books/the-java-module-system?a_aid=nipa&a_bid=869915cb).
44
The _Service Monitor_ is an application that observes a hypothetical network of microservices by
55

6-
* contacting individual services
6+
* contacting individual services (not really, it just makes up data)
77
* collecting and aggregating diagnostic data into statistics
88
* persisting statistics
99
* making statistics available via REST
@@ -21,18 +21,24 @@ Other branches explore individual features of the module system:
2121
* [implied readability](../../tree/feature-implied-readability) aka `requires transitive`
2222
* [optional dependencies](../../tree/feature-optional-dependencies) aka `requires static`
2323
* [qualified exports](../../tree/feature-qualified-exports) aka `exports to`
24+
* [image creation with `jlink`](../../tree/feature-jlink)
25+
* [layers](../../tree/feature-layers)
26+
27+
The [branch `features-combined`](../../tree/features-combined) combines many of those into a final version of the application.
2428

2529
Then there are some branches that explore how things can break:
2630

27-
* [duplicate modules](../../tree/break-duplicate-modules-even-if-unrequired) (not properly documented)
28-
* split package, on [compilation](../../tree/break-split-package-compilation) and [launch](../../tree/break-split-package-launch) (not properly documented)
29-
* [missing transitive dependency](../../tree/break-missing-transitive-dependency) (not properly documented)
31+
* [duplicate modules](../../tree/break-duplicate-modules-even-if-unrequired)
32+
* [missing transitive dependency](../../tree/break-missing-transitive-dependency)
33+
* [reflection over internals](../../tree/break-reflection-over-internals)
34+
* split package, on [compilation](../../tree/break-split-package-compilation) and [launch](../../tree/break-split-package-launch)
3035

3136

3237
## Setup
3338

34-
This demo was developed against JDK 9+181 (first official version of [Java 9](http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html)).
35-
For it to work, the Java 9 variants of `javac`, `jar`, and `java` must be available on the command line via `javac9`, `jar9`, and `java9`, e.g. by symlinking ([Linux, MacOS](https://stackoverflow.com/q/1951742/2525313), [Windows](https://www.howtogeek.com/howto/16226/complete-guide-to-symbolic-links-symlinks-on-windows-or-linux/)) them.
39+
This demo was developed against JDK 9.0.4.
40+
The command line scripts for shell and batch use the default commands `javac`, `jar`, and `java`.
41+
If these commands don't refer to the Java 9 version on your system, you can enter the appropriate paths at the top of each script.
3642

3743
This is a multi-module Maven project, which your IDE should be able to import. If you're using Maven directly, make sure you have 3.5.0 or higher.
3844

@@ -55,11 +61,9 @@ Need to inspect that...
5561

5662
### Scripts
5763

58-
The root directory contains a number of Linux shell scripts:
59-
60-
* `compile.sh`: compiles the modules one by one
61-
* `multi-compile.sh`: compiles all modules at once
62-
* `dry-run.sh`: launches the application with `--dry-run`, which aborts before calling the main method
63-
* `run.sh`: launches the application
64+
The root directory contains a number of Windows batch and Linux shell scripts:
6465

65-
Adapting them for Windows should be straight forwards except for where `$(find ...)` is used, which you might have to replace with a list of the actual files.
66+
* `compile`: compiles the modules one by one
67+
* `multi-compile`: compiles all modules at once
68+
* `dry-run`: launches the application with `--dry-run`, which aborts before calling the main method
69+
* `run`: launches the application

0 commit comments

Comments
 (0)