如何在 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 存档导出)? [复制]