Idea+maven-jar-plugin构建JavaFX可执行jar包

简介: Idea+maven-jar-plugin构建JavaFX可执行jar包

项目结构

.
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── pengshiyu
    │   │           ├── Controller.java
    │   │           └── Main.java
    │   └── resources
    │       ├── fxml
    │       │   └── sample.fxml
    │       └── style
    │           └── main.css
    └── test
        └── java

pom.xml

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

<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>org.example</groupId>
<artifactId>demo</artifactId>
<version>1.0-SNAPSHOT</version>
<build>

<plugins>
<!-- 运行javaFX-->
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.8.3</version>
<configuration>
<mainClass>com.pengshiyu.Main</mainClass>
</configuration>
</plugin>

<!-- 构建javaFX成jar-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<archive>
<manifest>
<!-- 指定程序入口-->
<mainClass>com.pengshiyu.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>

</plugins>
</build>
</project>

src/main/java/com/pengshiyu/Main.java

package com.pengshiyu;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

@Override
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("/fxml/sample.fxml"));
primaryStage.setTitle("Demo");
primaryStage.setScene(new Scene(root, 600, 600));
primaryStage.show();
}


public static void main(String[] args) {
launch(args);
}
}

src/main/java/com/pengshiyu/Controller.java

package com.pengshiyu;

import javafx.scene.control.Label;

public class Controller {
public Label label;

public void clickButton(){
label.setText("按钮被点击了");
System.out.println("按钮被点击了");
}
}

src/main/resources/fxml/sample.fxml

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

<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.GridPane?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>

<GridPane fx:controller="com.pengshiyu.Controller"
stylesheets="/style/main.css"
xmlns:fx="http://javafx.com/fxml";
alignment="center" hgap="10" vgap="10">

<Button mnemonicParsing="false" onAction="#clickButton" text="按钮" />

<Label fx:id="label" layoutX="10"/>

</GridPane>

src/main/resources/style/main.css

.label{
-fx-text-fill: red;
}

指令

# 运行程序
mvn clean jfx:run

# 生成jar文件
mvn package

项目截图

项目截图.png

参考

  1. JavaFX基础:2:使用javafx-maven-plugin管理JavaFX应用
  2. JavaFX基础:3:使用maven-jar-plugin生成用于执行jar文件
            </div>
目录
相关文章
|
Java Spring 数据格式
使用Feign实现Form表单提交
原文:http://www.itmuch.com/spring-cloud-sum/feign-form-params/ 之前,笔者写了《使用Spring Cloud Feign上传文件》。
4508 0
|
SpringCloudAlibaba 安全 Java
SpringCloud版本升级后bootstrap.yml配置不生效
SpringCloud版本升级后bootstrap.yml配置不生效
2574 1
|
10月前
|
监控 前端开发 Java
SpringBoot集成Tomcat、DispatcherServlet
通过这些配置,您可以充分利用 Spring Boot 内置的功能,快速构建和优化您的 Web 应用。
853 21
|
存储 安全 开发工具
GitHub 支持双因素认证(2FA)
【9月更文挑战第29天】
1883 6
|
Java Spring
SpringBoot获取不到用户真实IP怎么办
通过以上方法,你可以在Spring Boot应用中获取用户的真实IP地址。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
695 5
IDEA创建Java9模块没有module-info.java的解决办法
IDEA创建Java9模块没有module-info.java的解决办法
1076 0
IDEA创建Java9模块没有module-info.java的解决办法
|
机器学习/深度学习 人工智能 数据可视化
【人工智能】大模型平台新贵——文心千帆
【人工智能】大模型平台新贵——文心千帆
430 0
|
安全 JavaScript Java
Java连接SSH的库
Java连接SSH的库
380 0
|
机器学习/深度学习 数据采集
ValueError: Found input variables with inconsistent numbers of samples: [140, 1120] 怎么解决?
这个错误通常发生在机器学习模型的训练中,它表示输入数据的样本数量不一致。在你的情况下,你的输入数据中有两个变量,一个变量的样本数量为140,另一个变量的样本数量为1120,因此这个错误就出现了。 为了解决这个问题,你需要确保所有输入变量的样本数量是相同的。你可以通过以下几种方式来解决这个问题: 检查数据:检查数据是否正确加载,可能会导致数据样本数量不一致。 数据清洗:检查是否有重复的样本或者缺失的样本,如果有则需要对数据进行清洗。 数据对齐:如果你使用了多个数据源,那么你需要对它们进行对齐以确保它们的样本数量一致。 数据重采样:如果数据中有不均衡的样本数量,你可以考虑使用数据重采样方
1460 0