专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java构建和发布工具jDeploy(java项目发布工具)

temp10 2024-09-07 00:12:39 java教程 11 ℃ 0 评论

Java语言在设计之初就提出了“一次编写,到处运行”的口号。但是理想很丰满,现实很骨感,实际上Java经过这么多年的发展其易用性也不是很让人满意,其运行环境的配置也颇为坎坷。本文虫虫给大家介绍一款Java的构建和发布工具jDeploy,支持将java应用构建为各个平台的本地应用,这样可极大方便Java程序的安装和使用。

概述

使用jDeploy ,Java 开发人员可以构建和打包为Macintosh、Windows 和 Linux 上的本地程序。与其他部署解决方案不同,jDeploy无需任何第三方工具(OpenJDK 除外),并且可以在任何平台上为Mac、Windows和Linux构建本机安装程序。例如,可以在Linux或 Mac上构建本机Windows 装程序,反之亦然。使用jDeploy部署的应用程序还可以在更新可用时自动接收更新,这样可以确保用户将始终使用最新版本的应用程序。jDeploy 支持图形用户界面,可轻松配置应用程序的部署设置,例如图标、启动屏幕、文件关联等,设置OK后,按“发布”,就能发布应用程序用户可以下载最新版本,也支持通过文本配置和终端命令进行操作。

Java构建和发布工具jDeploy(java项目发布工具)

基本要求

JDK

为了运行 jDeploy,需要在开发机器上安装JDK 8或更高版本。有几个免费发行包可以选择,比如Adoptium、Zulu 和 Corretto。

jDeploy当前使用Azul的 OpenJDK REST API来按需下载适当的JRE或JDK。可以在jDeploy配置文件中指定应用程序需要的Java版本。还可以指定应用程序是否需要完整的JDK或JavaFX。开发者无需将JavaFX jar或模块与发行版捆绑在一起。

jDeploy支持Java8 到17的LTS(长期支持)版本。

节点JS

jDeploy 使用 npm 进行分发,因为它极大地简化了安装过程。npm与NodeJS一起打包。

npm 帐户

如果希望能够发布应用程序供其他人使用,还需要一个npm帐户。npm 账户可以免费注册,创建一个只需一分钟。jDeploy使用npm进行应用程序的云发布。当将新版本发布到npm时,应用将在下次启动时自动检测到,这样可以确保用户始终使用最新版本。

安装

可以在本地全局安装 jdeploy。 当在本地安装它时,它仅对安装它的项目可用,并且可以使用它运行它 npx jdeploy。

全局安装

npm install -g jdeploy

本地安装

cd /path/to/your/project

npm install jdeploy

基本用法

打开命令提示符并导航到Java项目目录。

cd path/to/myproject

运行jdeploy命令。 例如

jdeploy

如果这是第一次在该包上使用jdeploy,系统将提示创建一个package.json 文件:

选择Yes。

这打开jDeploy GUI,它看起来类似于以下屏幕截图。

jDeploy会自动填写设置,用户可以根据实际情况修改为实际的值。

发布流程

根据自己的喜好配置应用程序后,按发布按钮。如果尚未登录,系统可能会提示登录npm。将看到一个进度对话框,其中包含npm进度的读数。

如果成功,将看到如下“成功消息”:

看到此消息后,该应用程序即已上线并可在发布页面下载。

命令行发布

Jdeploy也支持通过命令行发布。在终端中,导航到包含需要发布的可执行.jar 文件的目录。

jdeploy init

这将生成一个package.json 文件,其中包含允许将应用程序发布到npm的设置。 此命令完成后,应该在文本编辑器中打开package.json ,根据实际要求调整设置。以SwingSet2为例,其package.json内容如下:

更新版本

如果对应用程序进行了更改,并希望发布新版本,可以增加package.json文件的version属性,然后运行 deploy publish再次发布。

发布到 NPM

必须在命令行中登录到npm帐户才能使用jdeploy publish命令工作。如果已经有一个npm帐户,可以使用 npm login命令。

登录到npm 帐户后,可根据喜好配置package.json 文件,然后使用以下命令将应用程序发布:

jdeploy publish

如果成功完成,将能够在deploy/~YOUR-APP-NAME发布了下载,其中YOUR-APP-NAME是 package.json文件中设置的name值。

图标及启动图

需要将其package.json放在同一目录中,jDeploy将使用三个特殊命名的图片,分别为:

icon.png:应用程序的图标。 如果不包含此文件,它将为自动使用默认的使Deploy 图标。建议大小为512x512 像素带透明度。

splash.png/splash.jpg/splash.gif:在应用程序加载时显示的启动图像。

installsplash.png:在应用程序的安装程序中显示的启动画面/信息屏幕。

文件关联

jDeploy支持将应用程序与文件mimetypes和扩展名相关联。例如,可以应用程序与.txt 文件相关联,以便在用户右键单击.txt文件并选择“打开方式”时将其列为选项之一。 此外,当文本文件被拖放到应用程序图标上时,应用程序将做出响应。

可以在 GUI 的“文件类型”选项卡中添加文件关联。 或者通过package.json 文件中mimetype键设置关联类型。

文件访问

当用户通过打开相关文件类型来启动应用程序时(例如,通过在应用程序图标上拖动文件,或在“打开方式”菜单中选择应用程序),可能需要知道是哪个文件触发了启动。例如在Linux和 Windows上,可以在main参数中访问打开的文件。

在 Macintosh 上,需要使用java.awt.Desktop 类在用户使用应用程序打开文件时收到通知。

使用 FileHandler与接口 Desktop当用户在 Mac OS 上使用应用程序打开文件时要通知的类。

URL方案

jDeploy 允许注册应用程序以使用特定方案打开URL,以便当用户单击具有该 URL方案的链接时,将启动应用程序。

例如,如果指定“myapp”URL 案,那么可以在的网站上添加一个链接,如下所示:

<a href="myapp:some-data">Open My App</a>

当安装了应用程序的用户单击此链接时,将提示启动应用程序。 当应用程序启动时,将能够检测到被点击的特定URL,以便可以做出适当的响应。

在上面的示例中,应用程序将与诸如“jdtext:xxxxxx”之类的 URL 相关联。

要添加多个 URL 方案,只需在文本字段中添加以逗号分隔的多个值。

例如:"myapp,podcast,feed"

在这种情况下,应用程序会响应诸如“myapp:… ”、“podcast:… ”和“feed:… ”之类的URL。

Mac程序签名

当使用jDeploy部署应用程序时,无需要像其他Mac应用程序时那样对其进行签名或公证,jDeploy会自动处理这些。无需要任何苹果证书,无需不需要Apple开发者帐户。

下载

使用jDeploy发布应用程序后,可以在jDeploy发布页下载该程序,如下图:

下载页面包含适用于Windows、Mac和Linux的链接。其中Linux打包支持.deb 和.bin两种格式,以后可能会继续扩展。

应用安装

从下载页面下载的安装程序会提示用户选择相关的安装选项,例如是否在Dock(仅限 Mac)或开始菜单(仅限 Windows)中添加链接,以及是否启用自动更新(默认“开”)。

选择所需选项后,用户可以按下安装按钮,这将触发应用程序的安装。安装很快,大概只需要一秒钟,完成后,将通过如下对话框提示用户:

然后,单击“Open SwingSet2”,将打开应用程序,如下所示:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表