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(六)的更多相关文章

  1. 利用Github Action实现Tornadofx/JavaFx打包

    原文地址: 利用Github Action实现Tornadofx/JavaFx打包 - Stars-One的杂货小窝 最近开了个新项目,主要是个工具软件,也算个人的自娱自乐吧,也算开源的一部分,想着都 ...

  2. idea打包jar的多种方式

    这里总结出用IDEA打包jar包的多种方式,以后的项目打包Jar包可以参考如下形式: 用IDEA自带的打包形式 用Maven插件maven-shade-plugin打包 用Maven插件maven-a ...

  3. 基于Java的打包jar、war、ear包的作用与区别详解

      本篇文章,小编为大家介绍,基于Java的打包jar.war.ear包的作用与区别详解.需要的朋友参考下   以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.cla ...

  4. Eclipse将android项目打包jar文件

    Eclipse+android打包jar文件 蔡建良 2016-3-12 以Android-SlideExpandableListView开源框架为例,将源码Library打包成jar文件并包含R.c ...

  5. 关于在打包Jar文件时遇到的资源路径问题(二)

    在关于<关于在打包Jar文件时遇到的资源路径问题(一)>中,以及描述了当资源与可执行JAr分离时的资源路径代码的编写问题,后来想了想,为什么将<Java核心技术卷一>中的程序1 ...

  6. 关于在打包Jar文件时遇到的资源路径问题(一)

    当我们将程序写好,并进行打包成Jar文件时,通常都带有各种资源,这些资源可以是图像或者声音文件,也可以是别的如文本文件或二进制文件等,这些资源都和代码密切相关.例如在一个JPanel类上显示一些可能变 ...

  7. java打包jar,war,ear包的作用、区别

    java的打包jar,war,ear包的作用,区别,打包方式. a) 作用与区别      i.    jar: 通常是开发时要引用通用(JAVA)类,打成包便于存放管理      ii.   war ...

  8. MAVEN 打包JAR

    <build> <finalName>edu-service-user</finalName> <resources> <resource> ...

  9. AndroidStduio3.0 使用gradle将module打包jar文件

    AndroidStduio3.0使用gradle将module打包jar文件,首先需要安装gradle. 打开控制台输入      open -e .bash_profile     命令,就可以打开 ...

  10. android studio application应用打包jar

    转载: https://blog.csdn.net/xiayiye5/article/details/79639044 首先我们来说下打成jar包的分类: 1.application应用打成jar包 ...

随机推荐

  1. 编译nw-node版本的插件

    编译nw-node版本的插件 下载nwjs对应版本的nodejs 原始源码目录 yh@yh:~/addon$ tree . ├── addon.cc ├── binding.gyp ├── CppLi ...

  2. 入门篇-其之四-字符串String的简单使用

    什么是字符串? 在Java编程语言中,字符串用于表示文本数据. 字符串(String)属于引用数据类型,根据String的源码,其头部使用class进行修饰,属于类,即引用数据类型. 字符串的表示 字 ...

  3. 低代码引擎 TinyEngine 正式发布!

    在当今数字化飞速发展的时代,企业对高效.敏捷的应用程序需求日益旺盛.为了满足这一需求,越来越多的低代码开发平台开始涌现.这些平台通过提供简单易用的开发工具和优化后的开发流程,帮助开发者快速构建高质量. ...

  4. Python基础——深浅拷贝、python内存泄露、你并不了解的format、decimal

    文章目录 深浅拷贝 先看赋值运算 浅拷贝copy 深拷贝deepcopy 相关面试题 python内存泄露 起因 方案 编写安全的代码 弱引用 你并不了解的format.decimal format格 ...

  5. Maximum Diameter 题解

    Maximum Diameter 题目大意 定义长度为 \(n\) 的序列 \(a\) 的权值为: 所有的 \(n\) 个点的第 \(i\) 个点的度数为 \(a_i\) 的树的直径最大值,如果不存在 ...

  6. KubeEdge v1.15.0发布!新增5大特性

    本文分享自华为云社区<KubeEdge v1.15.0发布!新增Windows 边缘节点支持,基于物模型的设备管理,DMI 数据面支持等功能>,作者:云容器大未来 . 北京时间2023年1 ...

  7. Jenkins相关概念

    1,Jenkins相关工具概念: 要熟练掌握Jenkins持续集成的配置.使用和管理,需要了解相关的概念.例如代码开发.编译.打包.构建等名称,常见的代码相关概念包括:JDK.JAVA.MAKE.AN ...

  8. QT中级(1)QTableView自定义委托(一)实现QSpinBox、QDoubleSpinBox委托

    1 写在前面的话 我们在之前写的<QT(7)-初识委托>文章末尾提到,"使用一个类继承QStyledItemDelegate实现常用的控件委托,在使用时可以直接调用接口,灵活实现 ...

  9. QPainter和QPainterPath理解

    QPainter和QPainterPath QPainterPath (一)简介 (二)常用函数 1.addEllipse() 2.addPath() 3.addPolygon() 4.addRect ...

  10. 8.3随记之Ubuntu 系统中修改 DNS 的两种办法和暗链

    8.3 随记 在 Ubuntu 系统中修改 DNS 的两种办法 在终端进行修改编辑 sudo nano /etc/resolv.conf 进行修改文件 例如:nameserver 8.8.8.8, 保 ...