问题标签 [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.
java - JDK 9 + Mac OS + jlink?
我在 Mac OS 上安装了 JDK 9 的发行版。
jshell 很好用,Jigsaw 模块支持很好用,但是没有 jlink:
这是空的:
供参考:
java - 如何运行 JDK 9 jlink 生成的图像?
我在这里遵循 Jigsaw快速入门。我成功运行了jlink
给定的命令:
这会产生一个“运行时映像”,它是一个展开的目录结构,如下所示:
我该如何运行?我期待一个二进制可执行文件,而不是一个分解的目录树。
该bin
目录有一个java
和一个keytool
。我没有看到任何 .jar 文件或 .class 文件可以通过捆绑的java
可执行文件运行。
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
日志:
我真的很感激任何帮助。谢谢。
java - 带有 jlink 压缩标签的 Java9 打包器
当我们创建 jlink 运行时映像时,我们可以使用诸如 '--strip-debug'、'--compress'、'2'、'--no-header-files'、'--no-man-pages' 之类的标签,创建一个大约 45mb 的分发文件夹。
如果我们想使用 javapackager,例如创建一个 .DMG 文件,我们如何进行类似的压缩?因为这些标签不适用于 javapackager。没有它们,最终的包大约是 100mb,失去了很多 java9 模块化的优势,所以我的问题是是否可以将 javapackager 与 jlink 创建的 JRE 运行时映像一起使用。
谢谢
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 库?
java - 使用 Jlink 在一个平台上为另一个平台创建 Java 运行时映像
我在我的 Linux 机器上使用 jlink 创建了运行时映像。我看到linux
文件夹下的include
文件夹。这是否意味着我只能将这个运行时映像用于 Linux 平台?如果是,是否有任何方法可以在一个平台上为另一个平台创建运行时映像(例如,在 Linux 上为 Windows 上,反之亦然)
java - 如何从独立的 Java 9 应用程序中获取 JRE 路径?
我在 Java 9 上编写了 HelloWorld 应用程序,使用 Inno Setup 构建jlink
并安装了他。我用%path-to-app%/bin/launcher.bat
.
我可以%path-to-app%
从 Java 获取并在控制台中显示它吗?我认为这个问题可以通过获取 JRE 路径来解决。
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 博主,但还没有人能够解决这个问题。
知道我在做什么错吗?
非常感谢您的耐心等待。
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 创建运行时映像?谢谢你。