java程序能转变为javafx_JavaFX本地应用自动更新功能的实现

一、javapackager介绍

JavaFX已经成为构建现代桌面应用最好的UI框架之一,但是它一直存在部署不方便的问题。Javapackager工具就是针对这个问题的解决方案,正如同JavaFX已经打包进JDK 8中,Javapackager工具也随同JDK 8一同提供。

Javapackager工具使得创建本地应用的安装器很容易,但是很遗憾的是,Javapackager不支持自动更新。而Java Web Start倒是可以支持更新操作,但它不能打包本地应用。

Javapackager工具可以执行针对Java应用程序和JavaFX应用程序的打包和签名的任务。

语法: javapackager command [options]

command包括:

1)-createbss

转换CSS文件为二进制形式

2)-createjar

根据其它参数产生JAR文档

3)-deploy

产生基本的应用程序发布包(可以是自包含的应用程序发布包)

4)-makeall

执行编译,createjar和deploy都会调用它

5)-signjar

根据提供的证书对应用程序签名

二、FXLauncher介绍

FXLauncher工具结合了Javapackager的本地安装器功能和Java Web Start相似的更新机制,使得可以使用FXLauncher而无需本地安装包,以及发布仅有14KB的可运行JAR文件(launcher),通过在线安装方式下载应用的各个模块并保持应用的版本更新。

launcher会先查看应用程序的manifest文件(app.XML)的内容,manifest文件用于在启动时同步本地artifact。

当应用程序开始更新时,用户会看到这样的动画:

预载入器接着会控制应用程序的过程。launcher看起来是使用CSS配置的。

manifest文件(app.xml)的内容示例:

Updating...

-fx-font-weight: bold;

-fx-pref-width: 200;

-fx-spacing: 10; -fx-padding: 25;

本地安装器不包含任何代码,因此在应用程序发布新版本时无需重建它们,只需简单地复制应用程序的artifact到预定义的位置,FXLauncher会处理剩下的一切工作。

FXLauncher还可以处理多种编程语言的应用,它与TornadoFX结合起来工作的极好。

FXLauncher和Tornado结合的例子见: http://fxldemo.tornado.no/

三、FXLauncher的使用步骤

1)编译项目JAR到app.dir

2)复制依赖包到app.dir

3)生成app.xml manifest

4)创建本地安装器

5)上传artifact到自动更新仓库

复制部署描述符,并按自己的需求进行修改:

${project.name}

no.tornado.FxlDemo

${project.build.directory}/app

${project.build.directory}/installer

http://fxsamples.tornado.no/demo/

w48839@fxldemo.tornado.no:fxldemo

四、Maven目标

1、产生应用程序

mvn clean package

2、部署应用程序artifact到自己的Web服务器

mvn exec:exec@deploy-app

3、建立本地安装器

mvn exec:exec@installer

五、TornadoFX介绍

TornadoFX是针对Kotlin语言的轻量级JavaFX框架。TornadoFX的特性包括:

1)依赖注入

2)类型安全建立器

3)异步任务执行

4)MVC

5)极度轻量级

6)小巧简单的API

7)为模型对象提供的REST客户端

8)零配置,无需XML,无需注释

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值