JavaFx 打包jar(六)
JavaFx 打包jar(六)
JavaFX 从入门入门到入土系列
我们编写了不少javafx,那么如何打包成jar给用户呢?下面我给出比较全的打包方式。
打包jar
下面我给出比较全的打包方式。
1. Maven项目打包
Maven项目打包首先需要修改pom.xml,添加maven-jar-plugin插件
<packaging>jar</packaging>
<properties>
<!--打包编码-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
<manifest>
<addClasspath>true</addClasspath>
<useUniqueVersions>false</useUniqueVersions>
<classpathPrefix>lib/</classpathPrefix>
<!--指向要运行的Main类-->
<mainClass>FxmlDemo</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
执行打包命令:
mvn clean package
运行这个jar包
java -jar --module-path "C:\Program Files\Java11\javafx-sdk-11.0.2\lib" --add-modules javafx.controls,javafx.fxml javafx-demo-1.0-SNAPSHOT.jar
注意,我的jdk为11,运行时需要先添加javafx的依赖模块
效果如下

2. 普通Main打包
非Maven项目打包,我们添加一个版本输出



然后点OK,编译jar即可。



然后运行它,注意,我的jdk为11,运行时需要先添加javafx的依赖模块
java -jar --module-path "C:\Program Files\Java11\javafx-sdk-11.0.2\lib" --add-modules javafx.controls,javafx.fxml javafx-demo.jar

3. 其他window运行
在其他window运行时,需要把jdk11的运行时环境单独拿出和javafx的依赖,把这些依赖放到jar同一目录,编写一个.bat脚本运行它即可。
JavaFx 打包jar(六)的更多相关文章
- 利用Github Action实现Tornadofx/JavaFx打包
原文地址: 利用Github Action实现Tornadofx/JavaFx打包 - Stars-One的杂货小窝 最近开了个新项目,主要是个工具软件,也算个人的自娱自乐吧,也算开源的一部分,想着都 ...
- idea打包jar的多种方式
这里总结出用IDEA打包jar包的多种方式,以后的项目打包Jar包可以参考如下形式: 用IDEA自带的打包形式 用Maven插件maven-shade-plugin打包 用Maven插件maven-a ...
- 基于Java的打包jar、war、ear包的作用与区别详解
本篇文章,小编为大家介绍,基于Java的打包jar.war.ear包的作用与区别详解.需要的朋友参考下 以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.cla ...
- Eclipse将android项目打包jar文件
Eclipse+android打包jar文件 蔡建良 2016-3-12 以Android-SlideExpandableListView开源框架为例,将源码Library打包成jar文件并包含R.c ...
- 关于在打包Jar文件时遇到的资源路径问题(二)
在关于<关于在打包Jar文件时遇到的资源路径问题(一)>中,以及描述了当资源与可执行JAr分离时的资源路径代码的编写问题,后来想了想,为什么将<Java核心技术卷一>中的程序1 ...
- 关于在打包Jar文件时遇到的资源路径问题(一)
当我们将程序写好,并进行打包成Jar文件时,通常都带有各种资源,这些资源可以是图像或者声音文件,也可以是别的如文本文件或二进制文件等,这些资源都和代码密切相关.例如在一个JPanel类上显示一些可能变 ...
- java打包jar,war,ear包的作用、区别
java的打包jar,war,ear包的作用,区别,打包方式. a) 作用与区别 i. jar: 通常是开发时要引用通用(JAVA)类,打成包便于存放管理 ii. war ...
- MAVEN 打包JAR
<build> <finalName>edu-service-user</finalName> <resources> <resource> ...
- AndroidStduio3.0 使用gradle将module打包jar文件
AndroidStduio3.0使用gradle将module打包jar文件,首先需要安装gradle. 打开控制台输入 open -e .bash_profile 命令,就可以打开 ...
- android studio application应用打包jar
转载: https://blog.csdn.net/xiayiye5/article/details/79639044 首先我们来说下打成jar包的分类: 1.application应用打成jar包 ...
随机推荐
- 编译nw-node版本的插件
编译nw-node版本的插件 下载nwjs对应版本的nodejs 原始源码目录 yh@yh:~/addon$ tree . ├── addon.cc ├── binding.gyp ├── CppLi ...
- 入门篇-其之四-字符串String的简单使用
什么是字符串? 在Java编程语言中,字符串用于表示文本数据. 字符串(String)属于引用数据类型,根据String的源码,其头部使用class进行修饰,属于类,即引用数据类型. 字符串的表示 字 ...
- 低代码引擎 TinyEngine 正式发布!
在当今数字化飞速发展的时代,企业对高效.敏捷的应用程序需求日益旺盛.为了满足这一需求,越来越多的低代码开发平台开始涌现.这些平台通过提供简单易用的开发工具和优化后的开发流程,帮助开发者快速构建高质量. ...
- Python基础——深浅拷贝、python内存泄露、你并不了解的format、decimal
文章目录 深浅拷贝 先看赋值运算 浅拷贝copy 深拷贝deepcopy 相关面试题 python内存泄露 起因 方案 编写安全的代码 弱引用 你并不了解的format.decimal format格 ...
- Maximum Diameter 题解
Maximum Diameter 题目大意 定义长度为 \(n\) 的序列 \(a\) 的权值为: 所有的 \(n\) 个点的第 \(i\) 个点的度数为 \(a_i\) 的树的直径最大值,如果不存在 ...
- KubeEdge v1.15.0发布!新增5大特性
本文分享自华为云社区<KubeEdge v1.15.0发布!新增Windows 边缘节点支持,基于物模型的设备管理,DMI 数据面支持等功能>,作者:云容器大未来 . 北京时间2023年1 ...
- Jenkins相关概念
1,Jenkins相关工具概念: 要熟练掌握Jenkins持续集成的配置.使用和管理,需要了解相关的概念.例如代码开发.编译.打包.构建等名称,常见的代码相关概念包括:JDK.JAVA.MAKE.AN ...
- QT中级(1)QTableView自定义委托(一)实现QSpinBox、QDoubleSpinBox委托
1 写在前面的话 我们在之前写的<QT(7)-初识委托>文章末尾提到,"使用一个类继承QStyledItemDelegate实现常用的控件委托,在使用时可以直接调用接口,灵活实现 ...
- QPainter和QPainterPath理解
QPainter和QPainterPath QPainterPath (一)简介 (二)常用函数 1.addEllipse() 2.addPath() 3.addPolygon() 4.addRect ...
- 8.3随记之Ubuntu 系统中修改 DNS 的两种办法和暗链
8.3 随记 在 Ubuntu 系统中修改 DNS 的两种办法 在终端进行修改编辑 sudo nano /etc/resolv.conf 进行修改文件 例如:nameserver 8.8.8.8, 保 ...