多个 jar 以及 jpackage 如何部署它们

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

我有一个 Java 应用程序(带有 main())。 我使用“-classpath .:./jars/*”来使用许可证管理器 jar 和数据库服务器 jar,它们都位于“jars”子目录中。 它编译并运行正常。 现在我想将它部署给用户。 我将两个特定的 jar 与“foo.jar”(其中包含 main())一起放入“deploy”子目录中,然后使用 jpackage:

jpackage \
    --input       deploy \
    --main-jar    "foo.jar" \
    --type        dmg

jpackage(在 MacOS 上)生成一个 .dmg 文件。当我双击 .dmg 并将应用程序复制到“应用程序”文件夹时,我得到:

$ ls
foo.cfg     license4j-runtime-library.jar   postgresql-42.7.3.jar
foo.jar
$ cat foo.cfg
[Application]
app.mainjar=$APPDIR/foo.jar
app.classpath=$APPDIR/license4j-runtime-library.jar
app.classpath=$APPDIR/postgresql-42.7.3.jar

[JavaOptions]
java-options=-Djpackage.app-version=1.0

当我双击应用程序的图标时,它似乎启动了(我可以在标题栏中看到主类的名称),但随后它就停止了。没有错误消息。它只是不起作用。

我想知道这两行“app.classpath=”是否正确。也许他们应该是一体的? 如果是这样,正确的语法是什么?

当 jpackage 制作“.msi”文件时,我还需要解决 Windows 的这个问题。

有什么想法吗?

谢谢!

我预计程序会完全启动,但几秒钟后,没有输出,它停止了。

macos jar jpackage
1个回答
0
投票

我可以向你保证多条线很好用。我的所有 .cfg 文件看起来都很相似,并且应用程序都在运行。

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