修复java.lang.module.ResolutionException:两个模块将同一包导出到非模块化应用程序中的另一个模块

时间:2019-07-23 10:49:51

标签: java maven javafx java-module

我正在尝试使用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.

我正在使用基于org.apache.lucene:lucene-core:5.5.5org.apache.lucene:lucene-misc:5.5.5的Hibernate Search 5.11.2。

据我对API的了解,这些jar是简单的JDK9之前的jar。因此,它们应该是未命名模块的一部分,并且我应该不会出错。 还是我错过了什么?

2 个答案:

答案 0 :(得分:1)

已在this PR中修复。 因此,如果遇到类似问题,请构建并安装快照,或者等到发布0.0.3版。

答案 1 :(得分:0)

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

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 除外)并重建项目,最终解决了问题。