编辑:您可以直接转到帖子末尾的 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 文件中找到:
commandLine "${java_home}/bin/jlink", '--module-path', "libs${File.pathSeparatorChar}${java_home}/jmods",
'--add-modules', 'app', '--launcher', 'app=app/ui.UI', '--output', 'dist', '--strip-debug',
'--compress', '2', '--no-header-files', '--no-man-pages'
编辑2:完全错误:
9:28:38: Executing task 'link'...
:app:clean
:app:compileJava
:app:processResources
:app:classes
:app:jar
:app:link
Error: Module app not found
:app:link FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:link'.
> Process 'command 'C:\Program Files\Java\jdk-9.0.4/bin/jlink'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
5 actionable tasks: 5 executed
Process 'command 'C:\Program Files\Java\jdk-9.0.4/bin/jlink'' finished with non-zero exit value 1
9:28:39: Task execution finished 'link'.
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 博主,但还没有人能够解决这个问题。
知道我在做什么错吗?
非常感谢您的耐心等待。