NetBeans 7.4的本机Java打包

成为“ NetBeans 74 NewAndNoteworthy ”页面的NetBeans 7.4的新功能之一是“本机打包 ”,在该页面上被描述为“ JavaSE项目现在支持使用JavaFX提供的本机打包技术来创建本机包。 ”

我将使用一个非常简单的示例来演示NetBeans 7.4中的本机打包功能。 下一个代码清单用于此增强的Hello World示例。

增强型HelloWorld.java

package dustin.examples;import static java.lang.System.out;/*** Slightly enhanced "Hello World" example.* * @author Dustin*/
public class EnhancedHelloWorld
{/*** Main function.* * @param args the command line arguments; name being addressed, if any.*/public static void main(String[] args){final String addresseeName = args.length > 0 ? args[0] : "World";out.println("Hello, " + addresseeName);}
}

下图显示了NetBeans 7.4源代码编辑器中的相同代码。

增强的HelloWorldCodeInNetBeans74

要使用本机打包功能,我可以右键单击该项目,然后选择“属性”,如下图所示。

rightClickNb74ProjectSelectProperties

单击“属性”将导致“项目属性”窗口的出现。 如下一个屏幕快照所示,此窗口允许开发人员展开“构建”,选择“部署”,并选中“在项目菜单中启用本机打包操作”标签旁边的框。 选择此选项会将NetBeans 7.4配置为支持该NetBeans项目的本机打包。

projectPropertiesNetBeans74

启用NetBeans 7.4本机打包后,我现在可以右键单击该项目,并使用一个名为“打包为”的新选项。 当我选择“打包为”选项时,我看到以下选择:“所有工件”,“所有安装程序”,“仅映像”,“ EXE安装程序”和“ MSI安装程序”。 请注意,我的NetBeans 7.4 IDE在Windows计算机上运行,​​因此EXE和MSI 安装程序很有意义。 Deploying JavaFX Applications文档的 6.4.1和6.4.2节分别介绍了EXE和MSI安装程序包。

当我选择EXE作为安装程序包时,我看到它根据IDE右下角的消息处理本地打包。 这显示在下一个屏幕快照中。

netbeans74BuildingNativeExeHelloWorld

第一次尝试此操作时,我遇到了NetBeans报告的错误,并显示以下消息:“ JavaFX本机打包程序需要安装外部Inno Setup 5+工具并包含在PATH中才能创建EXE安装程序。 参见http://www.jrsoftware.org/。 转到引用的Jordan Russell软件站点,可以下载Inno Setup 5.5.4 (isetup-5.5.4.exe)。 就我而言,我下载了自解压EXE并运行了它。 然后,我将安装Inno Setup 5.5.4的目录的完整路径添加到PATH 环境变量中,然后重新启动NetBeans 7.4。

在我的系统上安装了Inno Setup的情况下,当选择NetBeans的EXE本机打包时,Inno Setup 5.5.4安装程序编译器将运行。 NetBeans和Inno安装程序完成后,项目目录中将存在一个较大的EXE文件,如下面的屏幕快照所示。

dir_b_showsNetBeans74AppWithInno5Setup

我当然可以通过在命令提示符下键入其名称来运行此可执行文件。 下一个屏幕快照演示了运行此可执行文件会导致一个弹出窗口,要求您批准安装Java应用程序。

增强的HelloWorldInnoSetupReadyToInstall

单击“安装”按钮后,安装开始,这将在下一个屏幕快照中演示。

SetupEnhancedHelloWorld安装

可执行文件安装程序将Java应用程序安装为另一个可执行文件。 在这种情况下,此应用程序将安装在C:\Users\Dustin\AppData\Local\EnhancedHelloWorld ,如下面的屏幕快照所示。

generateEnhancedHelloWorldApplication

上面的屏幕快照中显示的生成的目录包括一个“运行时”目录,其中包含即使在未安装JRE的计算机上运行该应用程序所必需的JRE。 Java应用程序本身以JAR的形式存储在“ app”目录中。 这两个子目录都显示在接下来的两个屏幕快照中。

generateEnhancedHelloWorldApplicationJreDirectory

generateEnhancedHelloWorldApplicationAppDirectory

生成的目录包括两个.exe文件。 一个是EnhancedHelloWorld.exe ,它是Java应用程序可执行文件。 另一个.exe文件是unins000.exe 。 运行后一个.exe文件会从计算机上完全卸载该应用程序。

下一个屏幕快照显示,除了单击生成的可执行文件之外,我还可以从Window Start启动应用程序。

EnhancedHelloWorldFromWindowsStart

尽管我开始使用的Java代码示例可以使用NetBeans 7.4构建为可执行应用程序,如本文中所示,但是使用带有用户界面的Java应用程序会更加有趣。 例如,可以使用基于Java类HelloWorldSwing的 NetBeans 7.4构建可执行应用程序。

我在本文中的示例完全是Java SE(没有JavaFX),但是利用了NetBeans 7.4通过为JavaFX部署生成的机制对本机打包的支持。 因此,有关自包含应用程序打包的JavaFX文档对于理解可用选项也就不足为奇了。 NetBeans 7.4的本机打包也在NetBeans IDE的本机打包中得到了演示。

参考:来自JCG合作伙伴 Dustin Marx的NetBeans 7.4本机Java打包,来自Inspired by Actual Events博客。

翻译自: https://www.javacodegeeks.com/2013/11/native-java-packaging-with-netbeans-7-4.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Vue开发一个日历组件

最近在做一个类似课程表的需求,需要自制一个日历来支持功能及展现,就顺便研究一下应该怎么开发日历组件。 更新 2.23修复了2026年2月份会渲染多一行的bug,谢谢深蓝一人童鞋提出的bug,解决方案是给二月份的日历做特殊处理&#xf…

php 打开word乱码怎么办,如何解决php word 乱码问题

php word乱码的解决办法:首先打开“/Writer/Word2007/Base.php”文件;然后添加“$objWriter->writeAttribute(‘w:eastAsia’, $font)”内容;最后保存修改即可。PHPword解决中文乱码一、增加东亚字体支持打开并编辑路径/Writer/Word2007/B…

Java开发人员访谈的MindMap

多年来,我曾在许多Java开发人员访谈中担任小组成员。 之前,我曾写过一篇标题为“成功进行软件工程师技术面试的7大技巧”的文章,其中涵盖了很少的一般准则。 在本文中,我将分享一个思维导图,其中包含Java开发人员访谈中…

送给大家一个好看的简历神器

很多人看到里边有好看的东西就习惯性的点进来看看,还一边点一边想 —— 好看的简历我见多了,你这个又能好看到哪里去。我想差不多可以: 哪里吧因为最近有在准备简历,就习惯性的找一找有没有现成的简历模板。结果全是付费的&#x…

PHP简单实现单点登录功能示例

1.准备两个虚拟域名 127.0.0.1 www.openpoor.com127.0.0.1 www.myspace.com 2.在openpoor的根目录下创建以下文件 index.PHP 123456789101112131415161718<?phpsession_start();?><!DOCTYPE html><html><head><meta charset"UTF-8"/&…

JUNG 计算图属性,中心度,偏心率,直径,半径

本文介绍利用Java的第三方API JUNG 计算图中&#xff1a; closeness centrality&#xff1b;// 图中某节点的 接近中心性/亲密中心性 betweenness centrality&#xff1b;// 图中某节点的 中介中心性/介数中心性 distance; // 图中两节点的最短距离 eccentricity; // 图中某节…

Java VM –提防YoungGen空间

您可能从我们以前的面向性能的文章中看到&#xff0c;健康的JVM是实现最佳应用程序性能和稳定性的最重要目标之一。 这样的健康评估通常仅关注主要收集的频率&#xff08;避免&#xff09;或检测内存泄漏的存在。 年轻一代空间或短寿命物体的大小和足迹如何&#xff1f; 本文…

小程序绘图工具painter-json文件绘制保存分享图-可点击任意元素触发函数

Painter是由酷家乐移动前端团队打造的一款小程序绘图组件。 原项目地址&#xff1a;https://github.com/Kujiale-Mobile/Painter 新版地址&#xff1a;https://github.com/shesw/Painter 这款交互版原来是为了针对业务中的新需求而由我自己开发的&#xff0c;后来需求改动&a…

4 张动图解释为什么(什么时候)使用 Redux

dev-reading/fe 是一个阅读、导读、速读的 repo&#xff0c;不要依赖于 dev-reading/fe 学习知识。本 repo 只是一个快速了解文章内容的工具&#xff0c;并不提供全文解读和翻译。你可以通过本平台快速了解文章里面的内容&#xff0c;找到感兴趣的文章&#xff0c;然后去阅读全…

您正在使用什么垃圾收集器?

我们的研究实验室正全速前进。 随着最近的资金注入 &#xff0c;我们只能保证我们不断创新的步伐只会加快。 我们进行的部分研究与GC优化有关。 在处理这个有趣领域中的问题时&#xff0c;我们认为可以分享一些有关GC算法使用的见解。 为此&#xff0c;我们对使用特定GC算法的…

前端布局推进剂 - 间距规范化

我是一个爱折腾设计的前端&#xff0c;一直都在标榜自己的页面还原是多么的牛 X 。怎么做到页面还原&#xff1f;我有一个最笨但是有效的方法&#xff0c;就是把设计稿直接存成图片&#xff0c;作为背景图然后临摹着设计稿进行开发。我觉得自己太有才了。像素级还原有没有&…

echarts折线图相关

optionJKDLine {  title: {text: 告警数量趋势图,textStyle:{  //标题样式fontStyle:normal,fontFamily:sans-serif,fontSize:12    }},tooltip: {trigger: axis},legend: {  //图例,默认显示},grid: {  //图表距离left: -3%,right: 5%,bottom: 3%,top:20%,contai…

一个关于fixed抖动的小bug

前言 大家都知道position: fixed用于生成绝对定位的元素&#xff0c;相对于浏览器窗口进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 突然发现自己之前写的网页有个小bug&#xff1a;在购买页面的…

腾讯Node.js基础设施TSW正式开源

经过六年的迭代与沉淀&#xff0c;腾讯Tencent Server Web (以下简称TSW)这一公司级运维组件于今日正式开源。TSW是面向WEB前端开发者&#xff0c;以提升问题定位效率为初衷&#xff0c;提供云抓包、全息日志和异常发现的Node.js基础设施。TSW每天为百亿次请求提供稳定服务&…

ORM框架greenDao 2 (用于了解旧版本的使用方法,目前最新版本为3.2.2,使用注释的方式来生成)...

摘要&#xff1a; Android中对SQLite数据库使用&#xff0c;是一件非常频繁的事情。现今&#xff0c;也有非常多的SQLite处理的开源框架&#xff0c;其中最著名的greenDao&#xff0c;它以占用资源少&#xff0c;处理效率高等特点&#xff0c;成为优秀的ORM框架之一。那么对于g…

配置MySQL以进行ADF开发

大家好。 今天&#xff0c;我将向您展示如何为Oracle ADF开发配置MySQL数据库。 恕我直言&#xff0c;当您将ADF与其他数据库而不是Oracle DB一起使用时&#xff0c;您将无法使用Oracle ADF的全部功能&#xff0c;有时您会发现自己正在寻找解决方法&#xff0c;以实现某些行为…

React Native面试知识点

本文原创首发于公众号&#xff1a;ReactNative开发圈&#xff0c;转载需注明出处。 本文会不定期不断更新&#xff0c;想查看最新版本请移步至https://github.com/forrest23/react-native-interview 1.React Native相对于原生的ios和Android有哪些优势&#xff1f; 1.性能媲美…

KIE-WB / JBPM控制台Ng –配置

大家好&#xff0c;这是我上一篇文章中有关如何使用jBPM Console的后续文章 。 这篇文章的主要思想是描述为了在您自己的公司中使用它&#xff0c;您需要对jBPM Console NG进行一些最常见的配置。 但是在讨论技术细节之前&#xff0c;我们将介绍KIE Workbench&#xff08;KIE-W…

自己写一个H5项目CI系统

持续集成&#xff08;Continuous integration&#xff0c;简称CI)系统在软件自动化构建&#xff08;包括编译、发布、自动化测试&#xff09;方面有着重要的作用&#xff0c;在之前&#xff0c;前端项目简单&#xff0c;很多时候发布都只是一些简单的拷贝&#xff0c;而随着web…

25.QT-模型视图

模型视图设计模式的核心思想 使模型(数据)与视图(显示)相分离模型只需要对外提供标准接口存取数据,无需数据如何显示视图只需要自定义数据的显示方式,无需数据如何组织存储当数据发生改变时,会通过信号通知视图当用户与视图进行交互时,会通过信号向模型发送交互信息 在QT中提供…