首页 > 解决方案 > 使用 jlinked java 启动器启用预览功能

问题描述

我正在使用 Java 13 预览功能,但在 jlink 中找不到将“--enable-preview”标志添加到 jlink 生成的启动器脚本内的 java 命令的选项。

如您所见,生成的启动器脚本是

#!/bin/sh
JLINK_VM_OPTIONS=
DIR=`dirname $0`
$DIR/java $JLINK_VM_OPTIONS -m wla_server/net.saga.snes.dev.wlalanguageserver.Main $@

但是,我不知道如何JLINK_VM_OPTIONS=--enable-preview使用 jlink 命令生成脚本。

我的 jlink 命令是

$JAVA_HOME/bin/jlink \
  --module-path target/classes:target/dependency \
  --add-modules ALL-MODULE-PATH \
  --launcher launcher=wla_server/net.saga.snes.dev.wlalanguageserver.Main \
  --output dist/linux \
  --vm=server \
  --compress 2 

标签: javajlinkjava-13

解决方案


我已将以下 sed 命令添加到我的构建脚本中:

sed -i 's/JLINK_VM_OPTIONS=.*/JLINK_VM_OPTIONS=--enable-preview/' dist/linux/bin/launcher

这将编辑启动器脚本:

#!/bin/sh
JLINK_VM_OPTIONS=--enable-preview
DIR=`dirname $0`
$DIR/java $JLINK_VM_OPTIONS -m wla_server/net.saga.snes.dev.wlalanguageserver.Main $@

哪个效果很好。


推荐阅读