【问题标题】:Fix java.lang.module.ResolutionException: two modules export the same package to another module in a non-modular app修复 java.lang.module.ResolutionException:两个模块将同一个包导出到非模块化应用程序中的另一个模块
【发布时间】:2019-07-23 10:49:51
【问题描述】:

我正在尝试使用 Maven 使用 JavaFX 11 构建非模块化应用程序(没有 module-info.java 文件)。

As suggested on openjfx.io,我正在使用JavaFX Maven plugin

但在回复mvn javafx:run 时,我收到以下错误:

 [INFO] --- javafx-maven-plugin:0.0.2:run (default-cli) @ server ---  
 Error occurred during initialization of boot layer  
 java.lang.module.ResolutionException: Modules lucene.core and
 lucene.misc export package org.apache.lucene.store to module javassist  
 [ERROR] Command execution failed.

我使用的是 Hibernate Search 5.11.2,它依赖于 org.apache.lucene:lucene-core:5.5.5org.apache.lucene:lucene-misc:5.5.5

据我从API 了解到,这些 jar 是简单的 pre-JDK9 jar。所以它们应该是未命名模块的一部分,我应该没有错误。 还是我错过了什么?

【问题讨论】:

  • 它看起来像 JavaFX Maven 插件中的一个错误,因为它正在将 all 依赖项添加到 module-path,因为所有工件都从其包名称解析为模块。
  • @JoséPereda 有没有办法禁用此行为并将工件留在class-path
  • 不是直接的,但是插件中有一个可能的修复,很快就会提供。

标签: java maven javafx java-module


【解决方案1】:

固定在this PR

因此,如果您遇到类似问题,请构建并安装快照或等到版本 0.0.3 发布。

【讨论】:

  • JavaFX Maven 插件0.0.3 已发布。
【解决方案2】:

使用 IntelliJ 在 javafx-maven-plugin 0.0.5 中遇到这个问题 不断收到不同的错误,例如:

Error occurred during initialization of boot layer
java.lang.module.ResolutionException: Modules plexus.archiver and plexus.io export package org.codehaus.plexus.components.io.resources to module j2objc.annotations

必须从模块设置中清除所有库(org.javafx 除外)并重建项目,最终解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 2022-01-08
    • 2016-08-28
    • 1970-01-01
    • 2020-06-22
    • 2016-08-04
    相关资源
    最近更新 更多