我是靠谱客的博主 野性口红,最近开发中收集的这篇文章主要介绍TornadoFx-Kotlin实战桌面应用开发之打包,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

已经开源:kotlin桌面开发:小助手:https://github.com/iwh718/TornadoFX-kotlinDesktopAPP

 

前段时间学习使用TornadoFx一个kotlin版的javaFx框架开发了一个应用,完成后,第一次遇到打包jar文件(之前一直写JS前端和PHP后端,从来没用过java),心累啊,然后就是打包成为EXE格式的程序。

这篇文章只做打包的记录,至于TornadoFx的开发笔记,有空会放上来(还有使用Jfoenix一个fx的质感设计库)。

上个图看看。用的Jfoenix库(其中涉及到kotlin调用有点小问题,不过大部分正常使用)。

 其中涉及到各种基本组件与高级组件,属性绑定,表格渲染,REST接口请求。

下面看看项目结构:kotlin为原生代码,resources为资源文件,kotlin里面默认资源访问路径就是这里。

JavaFx可以使用FXML编写界面,TornadoFx也可以,但是kotlin1的DSL得到了很大的利用,写起来很棒,就没有用FXML写页面了。全部使用DSL编写。

一点布局代码


val header = StackPane().apply {
vbox {
alignment = Pos.CENTER
label("图书馆查询·外网版"){
textFill = Color.WHITE
}
label {
textFill = Color.WHITE
text = "图书数据不完整,更多请使用校内版!"
}
flowpane {
hgap = 5.0
vgap = 5.0
paddingAll = 10.0
//spacing = 10.0
this += myButton("设计")
this += myButton("营销")
this += myButton("公司")
this += myButton("商业")
this += myButton("机械")
this += myButton("高数")
this += myButton("JAVA")
this += myButton("Cad")
this += myButton("Android")
this += myButton("Max")
this += myButton("Python")
this += myButton("PhotoShop")
}
}
style {
backgroundColor += c("#4d4d4d")
VBox.setVgrow(this@apply, Priority.ALWAYS)
}
}

 进入正题:打包项目

1:找到Structure,添加Artifacts:选择JAR-From moudule

 

2:接下来是关键:主类,你可以选择默认的,他会帮你搜索项目的主类,你可能会有两个主类出现在选择中,一个是fx项目主类,一个是main函数顶级主函数(这个在IDE中效果不大,但是后面打包EXE有用!),这里你选择项目主类就可以了,顶级主函数是以xxKt.kt结尾的函数,这是TornadoFx自动处理的!

还有就是:MANIFEST文件的位位置,如果不正确,打包后,运行会出现:找不到清单文件,把路径改为图2 src后面的删除!

添加完后,依赖会自动被打包,但是资源文件不会,你需要添加资源文件resources到打包。

 接下来:点击 build 

 3:完成后:out目录

 jar文件是我们打包完成的,你可以直接运行它,如果直接双击失败或者没反应,就使用命令行执行 java -jar TornadoDemo.jar 后出现报错信息,你就可以查错了。

到这里如果运行正常,就可以正常使用了,但是这个是jar文件,很多用户并没有安装JRE环境,怎么办呢还有很多用户都不知道JAR是可以直接运行的,在大多数普通用户眼里,EXE才是windows的正常应用,so,我们需要用到:EXE4J这个软件了,他可以打包JAR文件到EXE还能添加自带JRE(这不是必须,但是你想要的你的应用在所有设备运行,请带上它,或找个精简版的,因为它有点大。。。)

开始打包:
1.

2:

 

3:

 

4:你可以设置icon图标路径,并添加64余32位的支持,还要输出应用的名字

 

 

5:

 

6:点击加号,添加我们刚开始导出的JAR文件。

 7:添加主函数:这一步很多人发现是空白,因为你没写主函数,而是直接使用IDE的运行来跑,IDE自动使用的Application方法。

IDE中Main函数

8:选择运行的JRE版本,可以不填上限。

9:选择JRE:如果不使用默认的JRE寻找方式(就是根据系统变量去查找用户电脑JRE的位置),想把JRE直接打包进去,选择高级设置选择sequence添加自己的JRE注意是相对路径,把默认的删除!

10:选择客户端完成

 

好了。打包EXE完成。

关于使用TornadoFx,后续会记录,网上有很多都是跑个官方Demo基本没什么用,在编写这个应用,遇到了许许多多的问题,由于没有javaFx开发经验,遇到不少问题,虽然TornadoFx的文档说,没有fx经验不影响学习,但是还是需要去了解fx的基本原理比如:架构,stage与scene,属性绑定等,这在TornadoFx默认出现了。。。

 

后续会将这个项目放置GitHub,目前在完善。

 合个影:

最后

以上就是野性口红为你收集整理的TornadoFx-Kotlin实战桌面应用开发之打包的全部内容,希望文章能够帮你解决TornadoFx-Kotlin实战桌面应用开发之打包所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部