如何在 IntelliJ IDEA 中创建 JavaFX Maven 项目?

Posted

技术标签:

【中文标题】如何在 IntelliJ IDEA 中创建 JavaFX Maven 项目?【英文标题】:How to create a JavaFX Maven project in IntelliJ IDEA? 【发布时间】:2015-08-09 21:05:45 【问题描述】:

如何在 IntelliJ IDEA 中从头开始打开 ​​JavaFX Maven 项目?由于 Java 项目和 JavaFx 项目之间没有区别,我想打开一个包含 Maven 模块的专用 JavaFX 项目(从创建项目向导中选择 JavaFX)。

【问题讨论】:

【参考方案1】:

如果您已经安装了 Maven,以下是创建 javafx 项目的确切用户指南:

    打开智能

    在包含其他 maven 项目的文件夹中创建 javafx 项目。

    点击intellij中的文件夹(顶部的项目),然后选择运行maven和包。

    然后,如果您需要 javafx 插件,请再次单击项目文件夹,运行 maven, plugins 并选择。我需要:javafx: jlink。

【讨论】:

【参考方案2】:

对于任何来这里的人。我认为最好的答案在于openjfx docs。它包含一个单独的 JavaFX 和 InteliJ 部分,选择 Non modules with Maven 部分。

我将在 breif 中描述步骤。

    创建新的 Maven 项目。 从架构类型中选择创建。 添加新的archtype(groupid:org.openjfx,artifactId:javafx-maven-archetypes,版本0.0.1) 选择创建的架构类型并下一步。 提供组 ID org.openjfx ArtifactId hellojavafx 和下一步。 将属性archtypeArtifactId 值更改为javafx-archetype-fxml。 为 javafx 版本添加新属性:属性 javafx-version 和值:14。 最后给项目起一个名字,比如HelloJavaFX。 现在单击完成并等待 inteliJ 构建项目。

一旦 InteliJ 完成它的工作,pom 应该看起来像这样sample。

PS: 如果您按照这种方法使事情顺利进行,您还需要遵循另外两个提示。 JavaFX 14 需要 java 11 或更高版本。 将 javax maven 插件版本更改为 0.0.1 到 0.0.4 以避免出现invalid flag --module-path 之类的错误。 也为了更好地工作下载并安装

【讨论】:

【参考方案3】:

我需要几个小时才能找到正确的解决方案。 非常感谢这个视频和作者: https://www.youtube.com/watch?v=qn2tbftFjno

所以,按照上面的视频,我想推荐:

    从https://gluonhq.com/products/javafx/下载JavaFX SDK 解压压缩包 从 Intellij IDEA 的起始页面,选择 Configure/Structure for New Projects 选择平台设置/全局库 选择加号(“+”)按钮/Java 在解压的 zip 文件中找到“lib”文件夹并选择所有“.jar”文件(“src.zip”除外),然后确定 为库设置一个新名称,比如说“javafx-whatever-version”,然后 申请/确定 照常创建 JavaFX 项目。 选择文件/项目结构... 在 Project Settings/Project 中,记得选择合适的 Project SDK 和 Project 语言级别 从平台设置/全局库中,右键单击库“javafx-whatever-version”(您已添加), 选择添加到模块.../确定 切换到项目设置/模块,选择应用/确定 回到你的项目经理,右键点击“src”/New/module-info.java 在 module-info.java 的正文中添加新行:
requires javafx.fxml; 
requires javafx.controls; 
opens sample;
    运行项目,尽情享受吧!

【讨论】:

对于不基于 Maven 的项目,这似乎是一个有用的答案。我怀疑,如果涉及 Maven,答案会有点不同,因为 Idea Maven 集成已经将所需的 JavaFX 库添加到项目的编译路径(但不一定添加到运行时 java 模块系统模块路径)。也许在这种情况下,答案类似于IntelliJ can't recognize JavaFX 11 with OpenJDK 11 我的错,谢谢@jewelsea 的推荐。无论如何,我希望它至少能以某种方式帮助某人。 这是在 Idea 中设置 JavaFX 项目的有用方法,它会帮助某人:-)【参考方案4】:

毕竟,程序不会被编译。所以这个视频帮助了我:Configuring Maven For Java FX

用词: 我们需要将 sample.fxml 移动到 /resources 文件夹。在 Main.java 中写:

FXMLLoader loader=new FXMLLoader(getClass().getResource("/sample.fxml"));

【讨论】:

兄弟,我把 .fxml 文件移到了 maven 资源文件夹中,仍然没有得到它【参考方案5】:

这个步骤对我有用(是一个不同的过程): 1.创建一个maven项目。 2.在生成的pom.xml中添加以下内容:

`<build>
        <plugins>
            <plugin>
                <groupId>com.zenjava</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>8.7.0</version>
                <configuration>
                    <mainClass>your.package.with.mainclass</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>`

这为 javafx 添加了一个 maven 插件(更多信息:https://github.com/javafx-maven-plugin/javafx-maven-plugin)

    在您的资源文件夹中创建您的 sample.fxml 为 sample.fxml 和链接创建你的控制器类 享受吧!

【讨论】:

【参考方案6】:

虽然过时了,但我正在回答这个问题,因为我最近遇到了同样的问题,而且有太多人告诉我要编写自己的 pom 文件等。虽然这在技术上是正确的,但如果你不小心,它会造成更多的麻烦。

我推荐你:

    像往常一样创建一个 JavaFX 项目。 确保项目视图(项目结构侧工具窗口中的下拉菜单)设置为“Project”或“Packages”(否则第 4 步中的选项将不会可见) 然后一旦打开并准备好右键单击项目文件夹 转到“添加框架支持...”。 选中 Maven 框并单击“确定”。

此时让 IntelliJ 为您完成工作。

至于编辑 FXML 文件,请将 IDEA 链接到 SceneBuilder。 Here 是官方文档。但基本上:

    安装Scene Builder。 文件 -> 设置 -> 语言和框架 -> JavaFX 指向 exe 文件。

使用方法:右键单击 FXML 文件并选择“在 SceneBuilder 中打开”(在底部向下)

【讨论】:

以上是关于如何在 IntelliJ IDEA 中创建 JavaFX Maven 项目?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IntelliJ IDEA 中创建 JavaFX Maven 项目?

在 IntelliJ IDEA 中创建 Java Gradle 项目并构建 .jar 文件 - 如何?

如何在 Intellij IDEA 13.1 中创建具有 Maven 结构的 Spring MVC 应用程序?

如何在 IntelliJ IDEA 中创建 .jar 文件或导出 JAR(如 Eclipse Java 存档导出)? [复制]

IntelliJ Idea中创建package的问题

IntelliJ IDEA中创建xml文件