JDK9 最酷的特性之一是 jlink这使得 JVM 的小型优化版本可以运行应用程序,这对于在容器(如 docker 容器)中运行应用程序非常有用。 但是,仅传递您拥有的 JAR 文件并获得优化的运行时来运行它并不是很简单。
就像我使用 Gradle 并创建一个 fat jar 文件(所有依赖项都在一个 jar 文件中),我只是想使用这个 jar 文件为其生成 JVM?有什么解决办法吗?
最佳答案
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
这包括您确定的所有平台模块及其依赖项。
关于java - 使用 jlink 为一个胖 Jar 文件优化 JVM 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52658535/