我在尝试使用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,java.base@9.0.4 --output customjre
Error: Module java.base@9.0.4 not found我的模块包含这个。
module com.tutorialspoint.greetings {
requires java.base;
}除了添加了requires java.basic之外,我完全遵循了本教程来制作模块。https://www.tutorialspoint.com/java9/java9_module_system.htm
我在没有使用java.base的情况下尝试了一下,仍然遇到了同样的问题。有什么想法吗?我是Jlink和Java9的新手,我想尝试一下,因为java8没有JLink。
也许这就是我在目录本身中引用JLink的方式?
发布于 2021-10-05 07:37:49
问题来自于模块的路径定义不明确。
如果您使用的是macos,则正确的语法为:
jlink --module-path "mods:$JAVA_HOME/jmods" --add-modules com.tutorialspoint.greetings --output customjre确保在运行jlink之前设置了JAVA_HOME变量。
此外,没有必要在模块中使用java.base模块定义requires子句,因为java.base模块是隐式添加到所有模块中的。
https://stackoverflow.com/questions/64452569
复制相似问题