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>
目录
相关文章
|
7月前
|
Java Maven
Run HelloWorld using Maven(JavaFX)
Run HelloWorld using Maven(JavaFX)
|
Java Maven
使用IDEA创建基于maven的javaFX项目并使用Artifacts打包成jar
使用IDEA创建基于maven的javaFX项目并使用Artifacts打包成jar
326 0
使用IDEA创建基于maven的javaFX项目并使用Artifacts打包成jar
|
Java Maven
使用IDEA创建基于maven的javaFX项目并使用Artifacts打包成jar
使用IDEA创建基于maven的javaFX项目并使用Artifacts打包成jar
336 0
使用IDEA创建基于maven的javaFX项目并使用Artifacts打包成jar
|
Java Maven
使用IDEA创建基于maven的javaFX项目并使用Artifacts打包成jar
使用IDEA创建基于maven的javaFX项目并使用Artifacts打包成jar
116 0
使用IDEA创建基于maven的javaFX项目并使用Artifacts打包成jar
|
Java Maven
使用IDEA创建基于maven的javaFX项目并使用Artifacts打包成jar
使用IDEA创建基于maven的javaFX项目并使用Artifacts打包成jar
443 0
使用IDEA创建基于maven的javaFX项目并使用Artifacts打包成jar
|
2月前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
63 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
2月前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
186 8
|
2月前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
177 3
|
3月前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
227 1
Maven——创建 Spring Boot项目
|
3月前
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
63 1
如何使用 maven 创建一个 Spring Boot项目