带有 Maven 和 IntelliJ 的 OpenJFX 14:无法 运行 应用程序

OpenJFX 14 with maven and IntelliJ : Cannot run application

我正在尝试在 IntelliJ 上的 JDK 14 Java 项目上使用 OpenJFX。 我的项目有多个 IntelliJ 模块,每个模块都有一个 pom.xml.

在包含我的 main 的 IntelliJ 模块中,我添加了 JFX 作为依赖项:

<dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-controls</artifactId>
    <version>14</version>
    <type>pom</type>
</dependency>

并且在我的顶级 pom.xml 我添加了 JFX 插件:

<plugin>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>0.0.4</version>
    <configuration>
        <mainClass>fr.efrei.wiemetarsene.caspersky.app.Main</mainClass>
    </configuration>
</plugin>

但是当我尝试 运行 我的应用时:

mvn javafx:run

我会收到以下错误:

[ERROR] Failed to execute goal org.openjfx:javafx-maven-plugin:0.0.4:run (default-cli) on project caspersky: Error: Output directory is empty, compile first -> [Help 1]

我试过 运行 :

mvn compiler:compile

在这样做之前,结果是完全一样的。您知道它为什么不起作用吗?

从那里 README,您可以尝试以下更改:

<plugin>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>0.0.4</version>
    <configuration>
        <source>14</source>
        <target>14</target>
        <release>14</release>
        <mainClass>fr.efrei.wiemetarsene.caspersky.app.Main</mainClass>
    </configuration>
</plugin>

此外,使用

编译您的项目
mvn javafx:compile

但由于 docs might be outdated,您可以尝试执行

mvn compile

mvn clean javafx:jlink

我有一个多模块 javafx 项目,我遇到了同样的错误。 Main class 在我的视图模块中。在 pom 文件中我有:

<plugin>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>0.0.5</version>
    <configuration>
        <source>14</source>
        <target>14</target>
        <release>14</release>
        <mainClass>Main</mainClass>
    </configuration>
</plugin>

然后在终端输入:

mvn install
cd View
mvn javafx:run

对我的代码进行一些更改后,我经常收到一些奇怪的错误,例如缺少组件。然后重复上述步骤即可解决问题。