Java maven使用--添加导出运行和构建
我尝试在Win 10机器上运行InteliJ和Maven并运行我的应用程序。 如果我跑 我的GUI启动,但如果我使用org.controlsfx.control.Textfield.TextFields中的文本字段 我遇到了一个问题Java maven使用--添加导出运行和构建,java,maven,javafx,controlsfx,openfx,Java,Maven,Javafx,Controlsfx,Openfx,我尝试在Win 10机器上运行InteliJ和Maven并运行我的应用程序。 如果我跑 我的GUI启动,但如果我使用org.controlsfx.control.Textfield.TextFields中的文本字段 我遇到了一个问题 Exception in thread "JavaFX Application Thread" java.lang.IllegalAccessError: class org.controlsfx.control.textfield.AutoCompletionBi
Exception in thread "JavaFX Application Thread" java.lang.IllegalAccessError: class org.controlsfx.control.textfield.AutoCompletionBinding (in unnamed module @0x19b440d0) cannot access class com.sun.javafx.event.EventHandlerManager (in module javafx.base) because module javafx.base does not export com.sun.javafx.event to unnamed module @0x19b440d0
我发现这是一个已知的问题,您必须按照以下命令传递给JVM
--add-exports=javafx.base/com.sun.javafx.event=org.controlsfx.controls
但我在maven是怎么做到的?
我试了两种方法
方式1:
使用.mvn/jvm.config文件并添加此命令,但这根本不会改变任何内容,即使在其中输入了无意义的内容
方式2:
添加系统变量MAVEN_将使用--add export命令进行选择。
然后maven对这一变化做出反应,但说:
WARNING: Unknown module: org.controlsfx.controls specified to --add-exports
我怎样才能解决这个问题
编辑:方式3:
根据javafx maven插件,应该可以添加这个——添加导出到,但InteliJ将其标记为无效,该元素不能在这里使用
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.4</version>
<configuration>
<compilerArgs>
<arg>--add-exports</arg>
<arg>javafx.graphics/com.sun.glass.ui=org.openjfx.hellofx</arg>
</compilerArgs>
<mainClass>org.openjfx.hellofx/org.openjfx.App</mainClass>
</configuration>
</plugin>
org.openjfx
似乎已知但未被视为问题
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.4</version>
<configuration>
<compilerArgs>
<arg>--add-exports</arg>
<arg>javafx.graphics/com.sun.glass.ui=org.openjfx.hellofx</arg>
</compilerArgs>
<mainClass>org.openjfx.hellofx/org.openjfx.App</mainClass>
</configuration>
</plugin>