我使用Java 11.0.1 中的Project Jigsaw完成了一个简单的示例,该示例使用Ubuntu 18.04 上的 oracle JDK 11 构建。
按照那个例子,我创建了一个简单的项目,它编译成一个模块,将模块打包到一个 jar 中,然后jlink用来创建一个独立的发行版。一切正常——最终结果是一个小型文件夹,其中包含一个精简的 JRE 和我的模块。
该项目仅由三个文件和一些文件夹组成:
.:
build.sh src
./src:
com module-info.java
./src/com:
greetings
./src/com/greetings:
Main.java
src/com/greetings/Main.java
package com.greetings;
public class Main {
public static void main(String[] args) {
System.out.println("Greetings!");
}
}
src/模块信息.java
module com.greetings { }
构建.sh
#/bin/bash
#clean up from last build
rm -rf greetingsapp mlib mods
#compile
javac -d mods/com.greetings src/module-info.java src/com/greetings/Main.java
#Make module jar
mkdir mlib
jar --create --file=mlib/com.greetings.jar --main-class=com.greetings.Main -C mods/com.greetings .
#build distribution
jlink --module-path /usr/lib/jvm/java-11-oracle/jmods/:mlib --add-modules com.greetings --output greetingsapp --strip-debug --no-header-files --no-man-pages --launcher greetings=com.greetings
#run
greetingsapp/bin/greetings
HUH函数
相关分类