Java 9 example
-
build.sh
#!/bin/bash
set -v
javac -d ./mods/ --module-source-path src $(find src -name "*.java") -
linking.sh
#!/usr/bin/env bash
printf 'Using JAVA_HOME=%s\n' $JAVA_HOME
jlink --module-path mods/:$JAVA_HOME/jmods --add-modules com.java9modules.main --output com.java9modules.main-image -
run-linked.sh
#!/usr/bin/env bash
./com.java9modules.main-image/bin/java -m com.java9modules.main/com.java9modules.main.api.App -
run.sh
#!/bin/bash
set -v
java --module-path mods/ -m com.java9modules.main/com.java9modules.main.api.App
src/com.java9modules.main
-
module-info.java
module com.java9modules.main {
requires com.java9modules.greetings;
}
src/com.java9modules.main/com/java9modules/main/api
-
App.java
package com.java9modules.main.api;
import com.java9modules.greetings.api.Greeting;
public class App {
public static void main(String[] args) {
System.out.println(new Greeting().regular("World"));
}
}
src/com.java9modules.greetings
-
module-info.java
module com.java9modules.greetings {
exports com.java9modules.greetings.api;
}
src/com.java9modules.greetings/com/java9modules/greetings/api
-
Greeting.java
package com.java9modules.greetings.api;
public class Greeting {
public String regular(String party) {
return "Hello, " + party + "!";
}
}