jlink:未在/ bin文件夹中创建应用程序jar

时间:2019-06-14 15:58:50

标签: java jlink java-12

我正在执行以下命令来创建图像。

jlink --module-path jars/:$JAVA_HOME/jmods --add-modules app.main,app.interfaces.impl,app.interfaces.otherimpl --output image

'app.main'模块包含主类。

“ app.interfaces.impl”和“ app.interfaces.otherimpl”是在“ app.interfaces”模块中实现接口的模块。

当我使用jlink命令创建映像时,它会在bin文件夹中创建java和keytool命令,但是不会复制任何模块。

$tree
.
├── image
│   ├── bin
│   │   ├── java
│   │   └── keytool

但是当我执行'java --list-modules'时,它列出了所有模块。

$./image/bin/java --list-modules
app.interfaces
app.interfaces.impl
app.interfaces.otherimpl
app.main
java.base@12.0.1
$

如何从app.main模块运行主类?模块到底复制到哪里了?

1 个答案:

答案 0 :(得分:0)

  

如何从app.main模块运行主类?

除了执行主类,您还可以使用命令行:

/image/bin/java -m app.main/app.main.MainClass

或使用--launcher选项在bin目录中创建启动脚本,例如

--launcher app=app.main/app.main.MainClass

在bin目录中创建“ app”。