IntelliJ JavaFX Maven 运行:无法识别的选项:--module-path
IntelliJ JavaFX Maven Run: Unrecognized option: --module-path
当您使用 Maven 和 Java外汇原型。
这是错误的前几行,其余没有任何有用的信息:
[INFO]
[INFO] --- javafx-maven-plugin:0.0.3:run (default-cli) @ ISAMG ---
Unrecognized option: --module-path
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
[ERROR] Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
...
一些Java配置细节:
- 此项目的项目 JDK 是通过 IntelliJ 下载的(打开JDK)。
- 项目语言级别为 14。
- 模块语言级别为 14。
- 目标字节码设置为 14。
- Maven 的 Runner JRE 设置为同一个项目 JDK(不是通过 JAVA_HOME 环境变量)。
- JavaIntelliJ 终端给出的 C 版本是
javac 14.0.1
- Java IntelliJ 终端给出的版本是
java version "1.8.0_261"
- Maven 本身并没有与 IntelliJ 分开安装在我的电脑上。
- 项目是模块项目(带模块-info.java)
- 没有插件。
这些是我的步骤 tried/checked:
- 使用 javafx-maven-plugin 版本 0.0.1 到 0.0.4
- 使用了单独下载的 JDK 副本(来自 Oracle 的网站)并且所有内容都指向那个。
- 将语言级别和目标字节码设置为 11。
- 已尝试 JavaFX 版本 12.0.2 和 14
- 尝试了 运行ning Maven 的
compile:compile
然后 resources:resources
然后 javafx:run
。也事先尝试了clean:clean
。
- 尝试使用 JAVA_HOME(对于用户和系统)并指向单独下载的 JDK。
- 通过添加指向 JDK
的 <executable>path/and/stuff</executable>
显式覆盖 IntelliJ 的 Maven Runner 的指向目录
- Git 已更新到当前版本。
- 删除了 .idea 文件夹中的所有内容。
- 禁用了我的防病毒软件
- 已删除并重新制作
.iml
文件以防与 pom.xml
文件发生冲突。
- 通过将 Maven 的
org.apache.maven.plugins
configuration/release 版本更改为 14 来覆盖目标字节码版本。
- 已重新安装Java。
- 在上述每个步骤后重新启动系统。
注意事项:
- 运行 使用应用程序配置的程序确实可以正确显示场景。
- 运行 javafx:compile 不会产生错误或警告。 javafx:jlink 也没有(尽管如果使用 javafx-maven-plugin 版本 0.0.4 会失败并出现未找到的错误)。
- 在项目创建过程中,Maven 没有
settings.xml
,所以我根据网上找到的默认值创建了一个,并将其放在错误指向的文件夹中。但是,有一个 \repository
文件夹。
- 我遇到了几个小时的问题,修改了一些东西,然后变成了
Java.io.IOException: CreateProcess error=5, Access is denied
错误。进一步的更改将返回到原始错误。我所做的步骤包括在上面。提供的解决方案可能会导致上述错误再次出现。
感谢Slaw,我找到了问题所在。我正在 post 寻找解决方案,以防其他人在谷歌搜索问题时 post 无意中发现这个问题。
虽然我拥有一切并且我的 JAVA_HOME 设置为在我的系统上使用 JDK 14,但 java 版本仍然指向 Java 8 (1.8.0_261).我的系统 PATH 变量之一是 C:\ProgramData\Oracle\Java\javapath
并且位于指向 C:\Program Files\Java\jdk-14.0.2\bin
的系统 PATH 之上(优先级更高)。我只是将以前的系统 PATH 变量一直移动到列表底部,程序能够 运行 而没有任何警告或错误。
Slaw 的完整答案中有更多详细信息 。
当您使用 Maven 和 Java外汇原型。
这是错误的前几行,其余没有任何有用的信息:
[INFO]
[INFO] --- javafx-maven-plugin:0.0.3:run (default-cli) @ ISAMG ---
Unrecognized option: --module-path
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
[ERROR] Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
...
一些Java配置细节:
- 此项目的项目 JDK 是通过 IntelliJ 下载的(打开JDK)。
- 项目语言级别为 14。
- 模块语言级别为 14。
- 目标字节码设置为 14。
- Maven 的 Runner JRE 设置为同一个项目 JDK(不是通过 JAVA_HOME 环境变量)。
- JavaIntelliJ 终端给出的 C 版本是
javac 14.0.1
- Java IntelliJ 终端给出的版本是
java version "1.8.0_261"
- Maven 本身并没有与 IntelliJ 分开安装在我的电脑上。
- 项目是模块项目(带模块-info.java)
- 没有插件。
这些是我的步骤 tried/checked:
- 使用 javafx-maven-plugin 版本 0.0.1 到 0.0.4
- 使用了单独下载的 JDK 副本(来自 Oracle 的网站)并且所有内容都指向那个。
- 将语言级别和目标字节码设置为 11。
- 已尝试 JavaFX 版本 12.0.2 和 14
- 尝试了 运行ning Maven 的
compile:compile
然后resources:resources
然后javafx:run
。也事先尝试了clean:clean
。 - 尝试使用 JAVA_HOME(对于用户和系统)并指向单独下载的 JDK。
- 通过添加指向 JDK 的
- Git 已更新到当前版本。
- 删除了 .idea 文件夹中的所有内容。
- 禁用了我的防病毒软件
- 已删除并重新制作
.iml
文件以防与pom.xml
文件发生冲突。 - 通过将 Maven 的
org.apache.maven.plugins
configuration/release 版本更改为 14 来覆盖目标字节码版本。 - 已重新安装Java。
- 在上述每个步骤后重新启动系统。
<executable>path/and/stuff</executable>
显式覆盖 IntelliJ 的 Maven Runner 的指向目录
注意事项:
- 运行 使用应用程序配置的程序确实可以正确显示场景。
- 运行 javafx:compile 不会产生错误或警告。 javafx:jlink 也没有(尽管如果使用 javafx-maven-plugin 版本 0.0.4 会失败并出现未找到的错误)。
- 在项目创建过程中,Maven 没有
settings.xml
,所以我根据网上找到的默认值创建了一个,并将其放在错误指向的文件夹中。但是,有一个\repository
文件夹。 - 我遇到了几个小时的问题,修改了一些东西,然后变成了
Java.io.IOException: CreateProcess error=5, Access is denied
错误。进一步的更改将返回到原始错误。我所做的步骤包括在上面。提供的解决方案可能会导致上述错误再次出现。
感谢Slaw,我找到了问题所在。我正在 post 寻找解决方案,以防其他人在谷歌搜索问题时 post 无意中发现这个问题。
虽然我拥有一切并且我的 JAVA_HOME 设置为在我的系统上使用 JDK 14,但 java 版本仍然指向 Java 8 (1.8.0_261).我的系统 PATH 变量之一是 C:\ProgramData\Oracle\Java\javapath
并且位于指向 C:\Program Files\Java\jdk-14.0.2\bin
的系统 PATH 之上(优先级更高)。我只是将以前的系统 PATH 变量一直移动到列表底部,程序能够 运行 而没有任何警告或错误。
Slaw 的完整答案中有更多详细信息