JDK9最酷的功能之一是jlink,它使JVM的优化版本很小,可以运行该应用程序,这非常有用,尤其是在像docker这样的容器中运行该应用程序时。 但是,仅传递您拥有的JAR文件并获得优化的运行时来运行它并不是很简单。
就像我使用Gradle并创建一个胖jar文件(单个jar文件中的所有依赖项)一样,我只是想使用此jar文件为其生成JVM?有解决办法吗?
答案 0 :(得分:2)
Use JDeps to analyze your project's dependencies:
jdeps --list-deps app.jar
然后从该列表中提取所有平台模块(以 java。或 jdk。开头的平台模块),并将其输入jlink
:
jlink --add-modules $REQUIRED-PLATFORM-MODULES --output jdk-for-app
要验证:
jdk-for-app/bin/java --list-modules
这包括您确定的所有平台模块及其依赖性。