【问题标题】:Create a modular JAR from old JAR with deps使用 deps 从旧 JAR 创建模块化 JAR
【发布时间】:2020-05-22 18:19:02
【问题描述】:

我有一个模块化 JavaFX 11 应用程序,我需要能够为 Linux 和 Windows 捆绑该应用程序。我目前正在使用 jlink 这样做并且效果很好。我需要捆绑包是独立的,因为目标计算机上的 Java 版本是 1.8 。

现在我必须将 SMBJ 库添加到我的应用程序中。我抓住了那个好旧的jar,需要对其进行模块化(否则我不能使用jlink,如here所见)。

我是否还需要模块化 SMBJ 拥有的大量部门,还是有其他方法?

【问题讨论】:

标签: java jar java-11 java-module jlink


【解决方案1】:

jlink 不能用于捆绑非模块化应用程序是不正确的。看看这个教程,它告诉你如何去做。 https://github.com/dlemmermann/JPackageScriptFX它使用jlink和jpackage的组合来达到预期的效果。

【讨论】:

  • 所以,它需要 Java 14,它仍处于早期访问阶段,还没有正式发布。虽然它使用非模块化 jar 构建 something,但在阅读后我不清楚这是否证明 jlink 本身可以使用非模块化 jar。
  • 我并没有声称 jlink 本身可以使用非模块化 jar。我说过,结合使用 jlink 和 jpackage,您可以实现将应用程序与 java 运行时捆绑在一起的预期结果。关键是您可以使用旧的非模块化 jars。
  • 而且您只需要 Java 14 即可使用 jpackage 工具。如果您愿意,您仍然可以将您的应用程序与当前的 java 13 捆绑在一起。
  • 感谢两位的回答。 @mipa 看来我无法使用您的解决方案,因为该软件将在 HiDPI 监视器上运行(请参阅最后一句话)...... Maven / Gradle 不能在这里提供帮助吗?他们不是已经有一套模块化的依赖了吗?
  • 我不明白你的意思。我一直在 HiDPI (Mac Retina) 屏幕上使用我的应用程序没有问题,我也不明白这与模块化有什么关系。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-26
  • 1970-01-01
  • 1970-01-01
  • 2015-03-25
  • 2020-06-20
  • 1970-01-01
相关资源
最近更新 更多