java - 使用 jlink 为胖 Jar 文件优化 JVM 模块
问题描述
JDK9 最酷的特性之一是 jlink ,它制作了一个小的 JVM 优化版本来运行应用程序,这非常有用,尤其是在 docker 等容器中运行应用程序时非常有用。但是,仅传递您拥有的 JAR 文件并获得优化的运行时来运行它并不是很简单。
就像我使用 Gradle 并创建了一个胖 jar 文件(所有依赖项都在一个 jar 文件中),而我只是想使用这个 jar 文件为其生成 JVM?有什么解决办法吗?
解决方案
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
这包括您确定的所有平台模块及其依赖项。
推荐阅读
- angular - 我想显示从开始日期到结束日期的消息
- wordpress - 权限自行访问服务器上的changend
- c# - 通过 mailkit (smtp) 发送包含以前消息的电子邮件
- lazy-initialization - 如何在打开复杂的 Qt 对话框之前阻止用户交互
- java - 如何远程调试在 ClusterIP 类型的 openshift 集群中运行的基于 java 的服务?
- docker - 如何使 Azure 应用服务容器崩溃
- java - While 循环,直到您随机滚动选定的数字,随机放置的位置
- python - Python randint() 重复数字 - 种子不是问题吗?
- c - 在 DLL GDB Windows 中设置断点
- symfony - 功能学说“不存在”不起作用