将 JVM 选项添加到 maven javafx 项目

Posted

技术标签:

【中文标题】将 JVM 选项添加到 maven javafx 项目【英文标题】:Adding JVM Option to maven javafx project 【发布时间】:2022-01-24 05:48:03 【问题描述】:

我正在使用 IntelliJ Idea,并尝试创建我的应用程序的可执行文件或 jar,但我遇到了 JFornix 问题

这就是我从 IDE 运行应用程序的方式

但从可执行文件或 jar 文件运行它会返回

 module java.base does not "opens java.lang.reflect" to module com.jfoenix

我尝试以这种方式添加参数

<plugin>
   <groupId>org.openjfx</groupId>
   <artifactId>javafx-maven-plugin</artifactId>
   <version>0.0.6</version>
   <executions>
      <execution>
         <!-- Default configuration for running with: mvn clean javafx:run -->
         <id>default-cli</id>
         <configuration>
            <mainClass>com.ahs.pos/com.ahs.pos.Launcher</mainClass>
            <arg>--add-opens=java.base/java.lang.reflect=com.jfoenix</arg>
         </configuration>
      </execution>
   </executions>
</plugin>

这是与this post 类似的问题,但使用 gradle,我正在尝试在 maven pom.xml 上执行此操作

有什么想法我应该怎么做?

【问题讨论】:

【参考方案1】:

参考documentation,参数应该改用&lt;option&gt;

<plugin>
   <groupId>org.openjfx</groupId>
   <artifactId>javafx-maven-plugin</artifactId>
   <version>0.0.6</version>
   <executions>
      <execution>
         <!-- Default configuration for running with: mvn clean javafx:run -->
         <id>default-cli</id>
         <configuration>
            <mainClass>com.ahs.pos/com.ahs.pos.Launcher</mainClass>
            <options>
                <option>--add-opens</option>
                <option>java.base/java.lang.reflect=com.jfoenix</option>
            </options>
         </configuration>
      </execution>
   </executions>
</plugin>

【讨论】:

以上是关于将 JVM 选项添加到 maven javafx 项目的主要内容,如果未能解决你的问题,请参考以下文章

使用 maven 部署 javafx hsqldb 项目

IntelliJ JavaFX Maven 运行:无法识别的选项:--module-path

防止JavaFX TabPane在滑动时切换选项卡

将布尔(Property)绑定到JavaFX中的List操作

如何向JavaFX选项卡添加多个选项卡关闭事件处理程序?

使用 Maven 的 JavaFX 11 抛出异常:“WindowsNativeRunloopThread”