JLink:在单独的文件中导出 java 个模块
JLink: export java modules in separated files
使用 JLink,我可以使用微型 JVM 构建我的应用程序。现在,构建是整体的:所有 java 模块都在一个文件中融化(可以用 jimage 提取):
jlinkImage/
└──lib/
└──modules
现在,我想进行增量构建:当我部署我的应用程序时,我想只上传自上次发布以来更改的模块。
能否将 JLink 配置为在单独的文件中导出不同的 java 模块?
例如
jlinkImage/
└──lib/
└── moduleA
└── moduleB
└── moduleC
深入研究这个问题后:
粗略的回答是否定的。
这不是JLink的目的,它只是为了构建一个紧凑的JRE。
但是JLink出品的JRE还是可以用外部模块扩展的。这里有一个简单的方法来分隔不同文件中的模块:
- 使用 jlink 生成最小的 JRE,例如:
jlink --add-modules java.base,java.xml --output minimalJre
- 在 minimalJre 中添加一些模块 jar:
minimalJre/
└──modules/
└── moduleA
└── moduleB
└── moduleC
- 启动它:
bin/java -p modules/ <other args>
使用 JLink,我可以使用微型 JVM 构建我的应用程序。现在,构建是整体的:所有 java 模块都在一个文件中融化(可以用 jimage 提取):
jlinkImage/
└──lib/
└──modules
现在,我想进行增量构建:当我部署我的应用程序时,我想只上传自上次发布以来更改的模块。
能否将 JLink 配置为在单独的文件中导出不同的 java 模块?
例如
jlinkImage/
└──lib/
└── moduleA
└── moduleB
└── moduleC
深入研究这个问题后:
粗略的回答是否定的。 这不是JLink的目的,它只是为了构建一个紧凑的JRE。
但是JLink出品的JRE还是可以用外部模块扩展的。这里有一个简单的方法来分隔不同文件中的模块:
- 使用 jlink 生成最小的 JRE,例如:
jlink --add-modules java.base,java.xml --output minimalJre
- 在 minimalJre 中添加一些模块 jar:
minimalJre/
└──modules/
└── moduleA
└── moduleB
└── moduleC
- 启动它:
bin/java -p modules/ <other args>