Idea-maven项目创建及javafx运行案例

2023-10-27

Idea-maven项目创建及javafx运行案例

maven项目创建

创建一个普通项目,构建系统使用Maven
在这里插入图片描述
项目结构应该是这样的
在这里插入图片描述
src下面有main和test

main下面有java和resources

test下面有java和test resources

test resources没有自动创建,为了完善项目结构一会手动创建一个

最关键的pom.xml文件初始化是这样的
在这里插入图片描述
之后要根据项目的需要进行pom.xml文件的配置

学习maven就是学习怎么配置pom.xml文件

maven + javafx项目配置

想创建一个javafx项目

首先先把可能要添加的依赖理清楚

首先在pom.xml中添加关于javafx的依赖项

因为javafx中可能用到javafx.fxml, 所以也要添加javafx.fxml的依赖

可能之后要连接数据库, 所以要添加mysql-connector-java的依赖

配置pom.xml文件

在添加之前, 要对pom文件的结构进行了解

可以格式化文档之后查看主次结构

以我这次配置的pom.xml文件为例

<?xml version="1.0" encoding="UTF-8"?>

<!-- project是最高级 -->
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <!-- 项目坐标 -->
    <groupId>groupId</groupId>
    <artifactId>fx1</artifactId>
    <version>1.0-SNAPSHOT</version>
    
    <!-- 依赖项添加 -->
    <dependencies>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>17.0.1</version>
        </dependency>

        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>17.0.1</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.28</version>
        </dependency>
    </dependencies>

    <!-- 构建项 -->
    <build>
        <!-- 添加插件 -->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <!--                    <release>8</release>-->
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>0.0.3</version>
                <configuration>
                    <mainClass>sample.Main</mainClass>
                </configuration>
            </plugin>
        </plugins>

        <!--这我不知道是啥 之后查查-->
<!--        <resources>-->
<!--            <resource>-->
<!--                &lt;!&ndash; 这里是放在 src/main/java&ndash;&gt;-->
<!--                <directory>src/main/java</directory>-->
<!--                <includes>-->
<!--                    <include>**/*.properties</include>-->
<!--                    <include>**/*.fxml</include>-->
<!--                    <include>**/fxml/*.fxml</include>-->
<!--                    &lt;!&ndash; 如果想要弄个包名专门放fxml文件,像上一行这样添加设置 &ndash;&gt;-->
<!--                    &lt;!&ndash; 之后,使用getResource("fxml/xx.fxml")这样子 &ndash;&gt;-->
<!--                </includes>-->
<!--                <filtering>false</filtering>-->
<!--            </resource>-->
<!--        </resources>-->

    </build>

</project>

依赖dependency是添加在dependencies中的

<>代表开始

</>代表结束

在这里插入图片描述
在pom.xml文件中使用alt+insert快捷键添加依赖项模板

将上面觉得可能要用到的依赖项添加进去

添加的时候有一个麻烦的点,要根据自己使用的软件的版本来说明依赖包的版本

比如上述依赖管理中,来自org.openjfx公司的javafx-controls依赖包和javafx-fxml依赖包就需要明确知道自己使用的jdk的版本,从而写明这两个依赖包的版本

来自mysql公司的mysql-connector-java依赖包就需要明确知道自己的mysql的版本,从而写明这个连接依赖包的版本

所以要去cmd中查看自己一些软件的版本

但是在idea中有小技巧,先填写依赖包的名称,然后在填写另外两个时候先按空格,idea就会自动显示一些版本,有可能准确有可能不准确(比如我的mysql版本是8,但是idea给我显示的链接依赖包的版本就只有5的),如果不准确要自己查询,然后输进去

一旦涉及到版本,就有可能出现软件之间的软件版本不对应的问题,比如mysql8就不能用5版本的连接依赖包

​ 另外不止要添加依赖, 还要添加一些相应的插件

怎么知道要添加的插件名称我现在还不清楚

添加之后, 点击侧边栏的maven, 刷新配置文件

等待依赖项和插件下载完成, 程序就可以运行了
在这里插入图片描述
相比之前要添加好几个jar包的方式方便很多

在用到很多不同的jar包时, 更能显示出maven这个依赖管理工具的便利性


在运行javafx程序的时候, 要创建两个类, 一个app类, 一个appLaunch类, 因为运行Javafx程序要对运行组件进行检查

在maven构建下直接运行app类,会报错
在这里插入图片描述
此时要创建一个运行app类的appLaunch类, 然后运行appLaunch, 才能正常运行
在这里插入图片描述

这个appLaunch类中只要一句话就行

Application.launch(Login.class);
// 注意运行的是已经编译过的class文件

但是与此同时还是有一些问题没有解决,很难受:

  1. 对pom.xml文件的详细配置还是不太清楚,可能每一次配置都要经过一大堆的搜索和试错,要继续看一些关于pom文件的文档
  2. 对pom.xml文件中怎么搜寻相关需要的插件不清楚,就像这次案例,依赖项可以知道,但是有些插件不知道怎么获取,另外关于为什么要用到这些插件才能运行也不清楚
  3. 为什么在maven构建下不能直接运行javafx的程序,必须要另外创建一个运行类;就像vscode中直接运行c/c++程序会出现运行窗口闪退,必须要加上一句system(“pause”);
  4. 今天累了,先摸索到这,剩下的时间看一看数据结构,明天准备做助教

全部解决

以上的问题纯粹是因为我新建的是普通项目,而不是Java FX项目,如果新建的是Java FX项目,那么idea会自动给你生成相应的需要的pom.xml文件,并且运行也是正常的
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Idea-maven项目创建及javafx运行案例 的相关文章

  • org.apache.hadoop.security.AccessControlException:客户端无法通过以下方式进行身份验证:[TOKEN,KERBEROS] 问题

    我正在使用 java 客户端通过 Kerberos 身份验证安全访问 HDFS 我尝试打字klist在服务器上 它显示已经存在的有效票证 我收到的异常是客户端无法通过以下方式进行身份验证 TOKEN KERBEROS 帮助将不胜感激 这是一
  • 过滤两次 Lambda Java

    我有一个清单如下 1 2 3 4 5 6 7 和 预期结果必须是 1 2 3 4 5 6 7 我知道怎么做才能到7点 我的结果 1 2 3 4 5 6 我也想知道如何输入 7 我添加了i gt i objList size 1到我的过滤器
  • 如何在 Spring 中禁用使用 @Component 注释创建 bean?

    我的项目中有一些用于重构逻辑的通用接口 它看起来大约是这样的 public interface RefactorAwareEntryPoint default boolean doRefactor if EventLogService wa
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 在 Jar 文件中运行 ANT build.xml 文件

    我需要使用存储在 jar 文件中的 build xml 文件运行 ANT 构建 该 jar 文件在类路径中可用 是否可以在不分解 jar 文件并将 build xml 保存到本地目录的情况下做到这一点 如果是的话我该怎么办呢 Update
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • Hibernate 的 PersistentSet 不使用 hashCode/equals 的自定义实现

    所以我有一本实体书 public class Book private String id private String name private String description private Image coverImage pr
  • 内部类的构造函数引用在运行时失败并出现VerifyError

    我正在使用 lambda 为内部类构造函数创建供应商ctx gt new SpectatorSwitcher ctx IntelliJ建议我将其更改为SpectatorSwitcher new反而 SpectatorSwitcher 是我正
  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 如何使用 jUnit 将测试用例添加到套件中?

    我有 2 个测试类 都扩展了TestCase 每个类都包含一堆针对我的程序运行的单独测试 如何将这两个类 以及它们拥有的所有测试 作为同一套件的一部分执行 我正在使用 jUnit 4 8 在 jUnit4 中你有这样的东西 RunWith
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 使用 CXF-RS 组件时,为什么我们使用 而不是普通的

    作为后续这个问题 https stackoverflow com questions 20598199 对于如何正确使用CXF RS组件我还是有点困惑 我很困惑为什么我们需要
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • 如何抑制/控制 Wagon-FTP Maven 扩展的日志记录?

    我正在通过 FTP 部署 Maven 站点 使用货车 FTP http maven apache org wagon wagon providers wagon ftp 工作正常 但输出充满了 FTP 连接 身份验证详细信息 这有效地向每个

随机推荐

  • Android studio开发Flutter常用插件

    Flutter 安装 Flutter 和 Flutter Snippets 设置中文 插件下载地址 看一下你的andio studio 是什么版本 下载插件时需要对应 下载完后 导入插件 重启 成功 CodeGlance Pro 代码缩略图
  • Flutter 中的同步与异步,我的Android美团求职之路

    Future error 创建一个执行结果为error的future factory Future error Object error StackTrace stackTrace return new Future immediateEr
  • OpenCV教程——OpenCV环境配置及第一个测试代码

    1 OpenCV简介 OpenCV是一个计算机视觉的开源库 英文全称是 Open Source Computer Vision Library 常用的OpenCV的核心模块 Image Process Camera Calibration
  • vulnhub Pwned: 1

    渗透思路 nmap扫描端口 gobuster扫描网站目录 burp爆破网站目录 网站源代码泄露ftp用户名密码 ariana用户用id rsa进行ssh登录 sudo bash脚本提权到selena 利用docker越权查看文件 环境信息
  • AttributeError: ‘builtin_function_or_method‘ object has no attribute ‘view‘解决办法

    1 问题陈述 今天在使用pytorch中的view方法 改变张量形状时 发生错误 AttributeError builtin function or method object has no attribute view 报错提示 Att
  • 将Spring Boot打包成一个可执行的jar

    创建一个可执行jar 让我们通过创建一个完全自包含的可执行jar文件来结束我们的示例 该jar文件可以在生产环境运行 可执行jars 有时候被成为胖jars fat jars 是包含你的编译后的类和你的代码运行所需的依赖jar的存档 可执行
  • ubuntu18.04 天选2 R95900hx 3060显卡驱动安装

    天选2 R95900hx 3060显卡驱动安装 需求 问题 解决 内核 集显 显卡驱动 需求 外接显示器 安装nvidia驱动 问题 由于一开始直接在软件和更新中附加驱动安装了nvidia 470 导致系统黑屏 解决 grub页面系统选择进
  • 手机解除移动宽带屏蔽_FANUC/三菱M70系统如何屏蔽伺服轴?

    有时为了调试方便和操作方便需要 需将伺服脱开或电机脱开 比如 在拆除四轴时 屏蔽相关的一些报警就可以通过参数屏蔽伺服轴 在维修电机或拆卸工作台时 需要将电机或工作台拆下时 就可以通过参数屏蔽相关的报警 其他轴不受拆除轴的影响还可正常移动运转
  • QT DAY1

    做一个窗口界面 include mainwindow h include ui mainwindow h MainWindow MainWindow QWidget parent QMainWindow parent ui new Ui M
  • CSDN专家博客网址

    CSDN Blog 所有专家 分类 业界 软件工程 项目管理 NET JAVA Delphi C C WEB开发 数据库 移动开发 开源 游戏开发 企业开发 工具 产品 综合 网络管理 IT媒体 云计算 业界蒋涛 周筠 芮祥麟 余平 陈荣华
  • iPhone 各屏幕尺寸及解析

    一 iPhone 各屏幕尺寸表 手机型号 屏幕尺寸 inch 像素密度 PPI 逻辑分辨率 point 物理分辨率 屏幕分辨率 pixel 缩放因子 scale factor 宽高比 近似 比例 近似 3GS 3 5 inch 163 pp
  • 如何用API函数获取网卡或硬盘的序列号

    转自 https zhidao baidu com question 502153566675093684 html include
  • 使用.NET中的XML注释(一) -- XML注释标签讲解

    一 摘要 Net允许开发人员在源代码中插入XML注释 这在多人协作开发的时候显得特别有用 C 解析器可以把代码文件中的这些XML标记提取出来 并作进一步的处理为外部文档 这篇文章将展示如何使用这些XML注释 在项目开发中 很多人并不乐意写繁
  • 网络协议有哪些?

    除了TCP IP协议以外 还有很多其他的网络协议 1 HTTP 超文本传输协议 用于在Web浏览器和Web服务器之间传输数据 2 FTP 文件传输协议 用于在不同计算机之间传输文件 3 SMTP 简单邮件传输协议 用于在不同计算机之间传输电
  • 5-1:什么是Servlet-开发你的第一个动态网站

    4 1 JavaWeb开发环境 1 安装IDEA 2 IDEA配置tomcat9 MAC版 兄弟们 这一章的内容我录制了一个视频 可以观看一下 5 1 什么是Servlet 开发你的第一个动态网站 本节内容配套视频 https www bi
  • 当下流行的 Web 编程语言都有哪些?

    如果你是一名新晋的 Web 开发人员 那么在选择最佳 Web 编程语言时将面临很多困难 不同的编程语言支持不同的编程技术 而且各有各的复杂性 此外 新的编程语言层出不穷 让人看得眼花缭乱 在本文中 我们将列出一些最适合 Web 开发的编程语
  • 总结之java代码规范(一)——注释规范、IDEA类和方法注释模板设置

    最近新团队需要需要整一套适合java代码规范 基于阿里java开发手册规范一下代码规范 一 注释要求 1 强制 类 类属性 类方法的注释必须使用javadoc规范 使用 内容 格式 不得使用 xxx方式 2 强制 所有的抽象方法 包括接口中
  • 掩码语言模型(Masked Language Model)mlm

    https www cnblogs com anai p 11645953 html bert 论文 从语言模型到Seq2Seq Transformer如戏 全靠Mask https zhuanlan zhihu com p 6910608
  • 目标检测+光流跟踪

    最近学习了LK光流法 主要用于运动目标的跟踪 于是想着和之前codebook运动目标检测结合起来 实现先检测再跟踪 下面介绍目标检测跟踪流程 1 使用codebook进行背景学习 2 使用codebook不断进行运动目标检测 3 若发现运动
  • Idea-maven项目创建及javafx运行案例

    Idea maven项目创建及javafx运行案例 文章目录 Idea maven项目创建及javafx运行案例 maven项目创建 maven javafx项目配置 首先先把可能要添加的依赖理清楚 配置pom xml文件 但是与此同时还是