netbeans7.4_NetBeans 7.4的本机Java打包

netbeans7.4

成为“ 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 Setup完成后,项目目录中将存在一个较大的EXE文件,如下面的屏幕快照所示。

dir_b_showsNetBeans74AppWithInno5Setup

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

EnhancedHelloWorldInnoSetupReadyToInstall

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

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

netbeans7.4

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

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

相关文章

斯坦纳点/树、泰森多边形

斯坦纳点 斯坦纳点别名正等角中心、费尔马点、斯坦纳点 在三角形的三边各向其外侧作等边三角形,这三个等边三角形的外接圆交于一点T,该点T即称为托里拆利点(Torricelli’s point ),而三个等边三角形的外接圆称为托里拆…

c语言如何将程序保存在文件,急求如何将下列C语言程序数据存储到文件中?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼求如何改动才能将下列程序的存储输入或输出数据(或两者一起)到指定的文件(或运行时直接创立一个文件)如Arrangement中。#include int n0;int rest[7][7]; //全局声明,以供全局调用int main(){void perm(int list[],int ,int );int …

FXRibbon 1.2版发布

这次,有所不同。 Microsoft对FXRibbon的更新,就像Java的功能区控件(JavaFX)一样 。 在发出使FXRibbon做好更好的准备以将其更新到Java 9以及更高版本的要求之后,我借此机会还添加了一些功能,进行了一些美学…

路由和交换

路由和交换 网络的工作方式是使用两种设备:交换机和路由器,来将计算机与外围设备连接起来。这两种工具使连接到网络上的设备之间以及其它网络相互通信。 虽然路由器和交换机看起来很像,但是它们在网络中的功能却截然不同: 交换机…

c语言链表写贪吃蛇思路,C语言构建的链表贪吃蛇

用C语言链表写的贪吃蛇(程序设计时做的,做的不好大佬勿喷)借助游戏内容分析贪吃蛇所需的功能主要包括这几块:移动光标模块打印地图模块和基本规则信息读取最高分文件打印初始蛇模块打印时给予蛇的初始移动方向产生食物模块1)、保证食物在地图内产生2)、保…

用普罗米修斯和格拉法纳乐器来刺豪猪

Adam Bien的Porcupine库使配置用作应用程序隔板的专用执行程序服务变得容易。 我创建了一个扩展,通过MicroProfile Metrics公开了豪猪统计信息。 我们还可以通过Prometheus和Grafana仪表板使仪器可见。 进行此扩展的原因是我们希望对Porcupine线程池的检测进行简单…

三层网络架构

三层网络架构 数据中心网络是连接数据中心大规模服务器进行大型分布式计算的桥梁。 传统数据中心网络普遍采用树型拓扑方案. 典型的拓扑由三层交换机互联构成,分别是接入层交换机、汇聚层交换机和核心层交换机。Cisco称之为:分级的互连网络模…

c语言调用labview方法,LabVIEW与C语言接口的方法

摘要介绍了一种LabVIEW与C 语言接口的方法,由实例证明,该方法高效、易行,是增强LabVIEW整体功能的一条有效的途径。关键词虚拟仪器LabVIEW 动态链接库LabVIEW是一种方便灵活的虚拟仪器开发环境。当前,虚拟仪器技术已广泛应用到各种…

SDN

直接理解 SDN是在2009年左右出现的一种新型网络结构,它将数据层面与控制层面分离,使用中央控制器完成网络的操作和管理,并通常采用OpenFlow协议作为其核心通信协议,拥有着集中式控制、可编程、部署灵活性和数据层面与控制层面相互…

gradle插件 java_简单的Gradle Java插件自定义

gradle插件 java正如我在“ 用Gradle构建Java的初步了解”一文中所展示的那样,当Gradle使用Java插件并将文件和目录放置在该插件期望的位置时, Gradle尤其适用于构建Java应用程序的基础知识(约定-基于项目的布局 )。 但是&#xf…

android 检测过程,Android 系统对permision的检测过程

Android 系统对permision的检测过程RK3288 5.1 中以太网设置静态IP 对permission的检测简略的调用过程如下:frameworks\opt\net\ethernet\java\com\android\server\ethernet\EthernetServiceImpl.javapublic void setConfiguration(IpConfiguration config) {if (!m…

IP地址分类(A类 B类 C类 D类 E类)

IP地址类型 公有地址 公有地址(Public address)由Inter NIC(Internet Network Information Center因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。 私有地址 私有地址&am…

Java:将JDBC ResultSet作为JSON流式传输

这篇文章展示了如何将java.sql.ResultSet转换为JSON并将其流回调用方。 如果要将大型数据集从JDBC数据源以JSON格式发送到Web应用程序,此功能很有用。 流式传输使您可以一点一点地传输数据,而不必将所有数据都加载到服务器的内存中。 例如,考…

android 开发 短信,Android开发之短信发送

今天要讲的是使用Android开发发送短信程序。我们先来看下运行效果图(1) 图(2)图(3)图(1):当我们运行项目时,出现在屏幕的效果;图(2):当我们输…

ISP (互联网服务提供商)

ISP:全称为Internet Service Provider,即因特网服务提供商,能提供拨号上网服务、网上浏览、下载文件、收发电子邮件等服务,是网络最终用户进入Internet的入口和桥梁。它包括Internet接入服务和Internet内容提供服务。这里主要是In…

android远程命令行工具,Android 使用 adb命令 远程安装apk

【UWP】解析GB2312、GBK编码网页乱码问题在WebHttpRequest请求网页后,获取到的中文是乱码,类似这样: ˹ŵ��Ϸ���������� - &#xff…

多路径路由算法—ECMP、WCMP

传统的网络拓朴结构可以形象的表示为树结构,我们称之为“有中心的网络拓扑结构”,简单地认为很多流量请求最终会汇聚到主干网这样的路由中心,才能转发到下一条路径。 传统的路由协议都是采用单路径路由的方式,简单地认为&#xf…

新的JEP草案将简化Java中的撰写

偏爱继承而不是继承 有充分的理由,“在继承中偏爱组成”这一口头禅在文献中已多次重复。 但是,Java很少或根本没有语言支持来简化对象的组成。 但是,有了名为“简洁方法机构”的新的JEP草案,情况可能会略有改善。 Brian Goetz负责…

应用层组播、IP组播

通常说的组播一般指IP组播,IGMP协议等 什么是应用层组播? 应用层组播通过在应用层复制和缓存数据包而不是在路由器上复制数据包来避免IP组播的部署问题。应用层组播无须对路由器作任何修改,因此在 Internet 上非常容易部署 为了改善网络效率&#xff0…

android 酷炫倒计时,android 好用的倒计时

android倒计时 是在原有TextView的基础上进行二次开发的自定义View效果图这个主要是结合了android的CountDownTimer,这个一般就是发送短信的倒计时。包含功能倒计时时间超过一个小时显示 时:分:秒时间小于一小时显示:分 &#xff…