【发布时间】:2020-11-05 15:33:04
【问题描述】:
当您使用 Maven 和 JavaFX 原型创建新的 IntelliJ 项目时,我正在尝试运行(使用 Maven 的 javafx:compile 然后 javafx:run)默认的 JavaFX 应用程序。
这是错误的前几行,其余的没有任何有用的信息:
[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 (OpenJDK) 下载的。
- 项目语言级别为 14。
- 模块语言级别为 14。
- 目标字节码设置为 14。
- Maven 的 Runner JRE 设置为同一个项目 JDK(不通过 JAVA_HOME 环境变量)。
- IntelliJ 终端中给出的 JavaC 版本是
javac 14.0.1 - IntelliJ 终端中给出的Java 版本是
java version "1.8.0_261" - Maven 本身并未独立于 IntelliJ 安装在我的计算机上。
- 项目是一个模块项目(带有module-info.java)
- 没有插件。
这些是我尝试/检查过的步骤:
- 使用 javafx-maven-plugin 版本 0.0.1 到 0.0.4
- 使用了一个单独下载的 JDK 副本(从 Oracle 的网站),一切都指向这一点。
- 将语言级别和目标字节码设置为 11。
- 已试用 JavaFX 版本 12.0.2 和 14
- 尝试运行 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配置/发布版本更改为 14 来覆盖目标字节码版本。 - 重新安装 Java。
- 在上述每个步骤后重新启动系统。
注意事项:
- 使用应用程序配置运行程序确实会正确显示场景。
- 运行 javafx:compile 不会产生错误或警告。 javafx:jlink 也没有(尽管如果使用 javafx-maven-plugin 版本 0.0.4 会失败并出现 not-found 错误)。
- 在项目创建过程中,Maven 没有
settings.xml,所以我根据网上找到的默认值创建了一个,并将其放在错误指向的文件夹中。但是,有一个\repository文件夹。 - 我遇到了几个小时的问题,修改了一些东西,然后它变成了
Java.io.IOException: CreateProcess error=5, Access is denied错误。进一步的变化带来了回到原来的错误。我所做的步骤包括在上面。提供的解决方案可能会导致上述错误再次出现。
【问题讨论】:
-
您的
java -version指向 Java 8,但--module-path选项直到 Java 9 才添加。您需要确保您使用的是 Java 9+(实际上是 Java 11+,因为您在编译时 和 运行时重新使用 JavaFX 11+)。 This answer 可以帮到你。
标签: java maven intellij-idea javafx