问题标签 [jlink]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2553 浏览

java - JDK 9 + Mac OS + jlink?

我在 Mac OS 上安装了 JDK 9 的发行版。

jshell 很好用,Jigsaw 模块支持很好用,但是没有 jlink:

这是空的:

供参考:

0 投票
1 回答
7321 浏览

java - 如何运行 JDK 9 jlink 生成的图像?

我在这里遵循 Jigsaw快速入门。我成功运行了jlink给定的命令:

这会产生一个“运行时映像”,它是一个展开的目录结构,如下所示:

我该如何运行?我期待一个二进制可执行文件,而不是一个分解的目录树。

bin目录有一个java和一个keytool。我没有看到任何 .jar 文件或 .class 文件可以通过捆绑的java可执行文件运行。

0 投票
4 回答
4380 浏览

java - 有没有办法在使用 maven-jlink-plugin 时添加 maven 依赖项?

我正在使用这个Github 项目来接触 Java 9 中的新模块化功能。我想向项目添加依赖项并能够构建本机映像。但是,当我尝试向 pom.xml 添加新的依赖项并将 requires 语句添加到 module-info.java 时,我从 maven-jlink-plugin 收到以下错误:

我正在尝试将此用作概念证明,即我可以使用新的链接阶段部署图像,但自然我需要能够拥有外部依赖项并且我需要使用 maven(工作约束)。

对 mod-jar/pom.xml 的更改

mod-jar/module-info.java

日志:

我真的很感激任何帮助。谢谢。

0 投票
2 回答
1140 浏览

java - 带有 jlink 压缩标签的 Java9 打包器

当我们创建 jlink 运行时映像时,我们可以使用诸如 '--strip-debug'、'--compress'、'2'、'--no-header-files'、'--no-man-pages' 之类的标签,创建一个大约 45mb 的分发文件夹。

如果我们想使用 javapackager,例如创建一个 .DMG 文件,我们如何进行类似的压缩?因为这些标签不适用于 javapackager。没有它们,最终的包大约是 100mb,失去了很多 java9 模块化的优势,所以我的问题是是否可以将 javapackager 与 jlink 创建的 JRE 运行时映像一起使用。

谢谢

0 投票
0 回答
308 浏览

java-9 - Java 9 - 如何使用模块信息重新编译 .jar 库

我读到将 .jar 库作为依赖项添加到 java9 模块中,我们只需要将它们包含在 --module-path 中,它们将被转换为“Atomatic Modules”

但是,当我尝试使用 jLink 时,仍然出现错误:错误:找不到 dd.plist 模块的 module-info.class

我意识到我们可以使用 jdeps 生成 module-info.java,我的问题是如何使用这个 module-info.java 重新编译 .jar 库?

0 投票
2 回答
5413 浏览

java - 使用 Jlink 在一个平台上为另一个平台创建 Java 运行时映像

我在我的 Linux 机器上使用 jlink 创建了运行时映像。我看到linux文件夹下的include文件夹。这是否意味着我只能将这个运行时映像用于 Linux 平台?如果是,是否有任何方法可以在一个平台上为另一个平台创建运行时映像(例如,在 Linux 上为 Windows 上,反之亦然)

0 投票
1 回答
171 浏览

java - 如何从独立的 Java 9 应用程序中获取 JRE 路径?

我在 Java 9 上编写了 HelloWorld 应用程序,使用 Inno Setup 构建jlink并安装了他。我用%path-to-app%/bin/launcher.bat.

我可以%path-to-app%从 Java 获取并在控制台中显示它吗?我认为这个问题可以通过获取 JRE 路径来解决。

0 投票
0 回答
145 浏览

java - 使用 Jlink (Java 9) 进行 1 级和 2 级压缩背后的算法是什么?

文档(https://docs.oracle.com/javase/9​​/tools/jlink.htm#JSWOR-GUID-CECAC52B-CFEE-46CB-8166-F17A8E9280E9)说:

我的问题是:

0 投票
0 回答
759 浏览

dependencies - 添加第 3 方库时 Java 9 (JLink) 失败

编辑:您可以直接转到帖子末尾的 2018-02-13 更新以获取更新信息

我可以提供完整的源代码,因为这个问题已经出现在我的开源项目 JMarkPad 中。

在这里找到它

问题

基本上:

  • 构建总是有效的,我得到一个正常工作的 .jar 没有任何问题。
  • gradle link在没有 3rd 方软件(在本例中为 JFoenix)的情况下创建本机 dist(运行)也可以。
  • gradle link使用 3rd 方软件(在本例中为 JFoenix)创建本机 dist(运行)会引发以下内容:

:链接全部

:JMarkPad:app:clean

:JMarkPad:app:compileJava

:JMarkPad:app:processResources

:JMarkPad:app:classes

:JMarkPad:app:jar

:JMarkPad:app:link

错误:找不到模块应用程序

:JMarkPad:app:link 失败

:链接全部失败

有这方面的经验吗?请随意浏览整个项目并提出任何问题,我真的需要帮助,我很乐意帮助任何试图帮助我的人。

感谢您的耐心等待。

编辑:

jlink 命令可以在 app/gradle.build 文件中找到:

编辑2:完全错误:

2018-02-13 更新:

https://github.com/mayuso/JMarkPad/tree/java-9-integration

它目前使用一个名为 JFoenix 的库,可以在 build.gradle 文件中的依赖项声明中看到:

https://github.com/mayuso/JMarkPad/blob/java-9-integration/build.gradle

有问题的图书馆在这里:

https://github.com/mayuso/JMarkPad/tree/java-9-integration/libs

所以现在,当我尝试使用 运行软件gradle run、使用 jlink 编译gradle build或使用 jlink 进行分发时,它总是说error: module not found: com.jfoenix.

我问过 JFoenix mantainers,这是几位有 Java 9 和 JLink 经验的 Java 博主,但还没有人能够解决这个问题。

知道我在做什么错吗?

非常感谢您的耐心等待。

0 投票
2 回答
6020 浏览

java - Java 9:使用 JLink 使用 3rd 方 jar 生成运行时映像

我想创建一个包含 3rd 方 jar 的 Java 9 运行时映像。我制作了一个简单的 Java 项目(我们称之为 this Example)来调用一个实用程序 jar(我们称之为 this ExampleUtil.jar)。Example包含目录module-info.java中的src并在 Eclipse 中运行良好(我已添加ExampleUtil.jar为模块依赖项)。如果我打电话:

...我收到错误消息:

错误:找不到 ExampleUtil 模块的 module-info.class

有没有办法使用不是模块的 jars 创建运行时映像?谢谢你。