尝试 jlink 时缺少 java.base

问题描述 投票:0回答:2

我在尝试使用 jlink 时得到了这个

Error: Module java.base not found

这是我迄今为止尝试过的两件事

/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin/jlink --module-path "%JAVA_HOME%\jmods":mods --add-modules com.tutorialspoint.greetings,java.base --output customjre
Error: Module java.base not found

/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin/jlink --module-path "%JAVA_HOME%\jmods":mods --add-modules com.tutorialspoint.greetings,[email protected] --output customjre
Error: Module [email protected] not found

我的模块包含这个。

module com.tutorialspoint.greetings { 
    requires java.base;
}

我完全按照本教程制作模块,除了添加了 require java.basic 之外。 https://www.tutorialspoint.com/java9/java9_module_system.htm

我在没有 require java.base 的情况下尝试了它,但仍然遇到同样的问题。 有什么想法吗?我是 JLink 和 Java9 的新手,想尝试一下,因为 java8 没有 Jlink。

也许这就是我在目录本身中引用 JLink 的方式?

java macos java-9 jlink
2个回答
0
投票

问题来自于模块的路径定义不明确。

如果您使用的是 Macos,正确的语法是:

jlink --module-path "mods:$JAVA_HOME/jmods" --add-modules com.tutorialspoint.greetings --output customjre

确保在运行

JAVA_HOME
之前设置
jlink
变量。

此外,无需在模块中使用

java.base
模块定义 require 子句,因为
java.base
模块已隐式添加到所有模块中。


0
投票

对我有用的解决方案是升级 AGP。

工具->AGP升级助手

使用最新版本

© www.soinside.com 2019 - 2024. All rights reserved.