添加第三方库时,Java 9(JLink)失败

时间:2018-01-18 08:12:10

标签: dependencies java-9 jlink jfoenix

编辑:您可以直接在更新信息发布后的2018-02-13更新

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

Find it here

The issue

基本上:

  • 建筑始终有效,我得到一个工作.jar没有任何问题。
  • 使用第三方软件(在本例中为JFoenix)创建本机dist(运行gradle link)也可以。
  • 使用第三方软件(在本例中为JFoenix)创建本机dist(运行gradle link)会引发以下情况:
  

:linkAll

     

:JMarkPad:应用程序:清洁

     

:JMarkPad:应用程序:compileJava

     

:JMarkPad:应用程序:processResources

     

:JMarkPad:应用程序:类

     

:JMarkPad:应用程序:罐

     

:JMarkPad:应用程序:链接

     

错误:找不到模块应用

     

:JMarkPad:app:link FAILED

     

:linkAll FAILED

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

感谢您的耐心等待。

编辑:

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

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运行该软件时,使用gradle build进行编译或使用jlink进行分发,它总是说error: module not found: com.jfoenix

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

知道我做错了什么?

非常感谢您的耐心等待。

0 个答案:

没有答案