成为“ 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源代码编辑器中的相同代码。

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

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

启用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右下角的消息处理本地打包。 这显示在下一个屏幕快照中。

第一次尝试此操作时,我遇到了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文件,如下面的屏幕快照所示。

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

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

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

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

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

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

尽管我开始使用的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

NetBeans 7.4的本机Java打包相关推荐

  1. netbeans使用教程_NetBeans 7.4的本机Java打包

    netbeans使用教程 成为" NetBeans 74 NewAndNoteworthy "页面的NetBeans 7.4的新功能之一是"本机打包",在该页面 ...

  2. netbeans7.4_NetBeans 7.4的本机Java打包

    netbeans7.4 成为" NetBeans 74 NewAndNoteworthy "页面的NetBeans 7.4的新功能之一是"本机打包 ",在该页面 ...

  3. java 打包目录_Java打包文件目录问 zip文件

    Java打包文件目录问 zip文件. /** * 资源打包下载类 * Created by Ruan Banshu on 2015/4/13. */ public class ZipOpUtil { ...

  4. 【java基础知识】java打包运行时显示控制台内容

    java打包后的程序,只需要双击就可以启动了,这样看不到原来控制台打印的内容,优点就是界面比较干净. 但若你想要看到原来控制台的内容,需要另外一种办法. 通过命令行启动打包后的程序. 步骤: 1.通过 ...

  5. Java打包生成exe(使用exe4j和inno setup)

    Java打包生成exe 生成jar 先使用eclipse生成可执行的jar[可执行的jar包含内容更全面,包括指定主类的.mf] Exe4j的使用 一定要可执行jar进行打包. Project typ ...

  6. java 打包 根目录_java打包

    java打包 编译时打包: javac -d "要把包打到哪:盘符或者.(.表示当前目录)" 文件名.java 执行打包的.class文件 java -cp(cp代表临时的环境变量 ...

  7. Quarkus 1.3.0.Final修复了Kubernetes本机Java堆栈中的错误

    Quarkus的另一个更新已经到来: 符合1.3.0.Final版本. 虽然1.3.0.Final没有对框架进行任何重大更改,但确实更新了其大量基础结构. 一长串的bug更改,次要更新和文档升级使Qu ...

  8. java jar manifest文件,java打包jar,以及manifest文件使用说明

    java打包jar,以及manifest文件使用说明 http://20921556.javaeye.com/blog/263974 关键字: java jar Java的一种文档格式,JAR文件非常 ...

  9. Java打包后运行jar包报错Caused by: org.springframework.beans.factory.BeanCreationException: Error creating be

    Java打包报错: Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean wi ...

最新文章

  1. 线性表ArrayList和LinkedList源码详解。
  2. 倒排索引优化 - 跳表求交集 空间换时间
  3. python常用命令汇总-酷帅吊炸天的 Pandas 常用操作命令汇总
  4. unity如何实现图片透视_如何用nginx实现防盗链?保护网站图片、视频。
  5. 脚本语言和编程语言的区别
  6. OpenKruise v0.10.0 版本发布:新增应用弹性拓扑管理、应用防护等能力
  7. 定时创建oracle索引,oracle数据库关于索引建立及使用的详细介绍
  8. html 表单控制器,c# – html表单发布到mvc控制器
  9. java中几种基本数据类型之间的转换
  10. 呐,你要的新年攻略和文章汇总
  11. 火狐浏览器中打开java_Ubuntu下通过Firefox Opera Chromium浏览器直接执行java应用程序(打开java jnlp文件)实现在服务器远程虚拟控制台完成远程管理的方法...
  12. 七夕情人节表白网页代码大全(浪漫的html表白源代码)
  13. c语言cm 英尺换算
  14. 论如何设计博客分类标签系统
  15. 战舰帝国服务器维护,【图片】9月17日更新公告亲爱的司令官:《战舰帝国》于9月17日维护,成功更新后可以获得200个钻石的更新补偿_战舰帝国吧_百度贴吧...
  16. 利用python爬取东方财富网股吧评论并进行情感分析(一)
  17. 公钥基础设施 (Public-key infrastructure PKI)
  18. 使用Node.js创建命令行工具
  19. 如何看待网易强制取消所有用户魔兽世界游戏时间
  20. bgp基础配置实验(基于环回口建立peer关系)

热门文章

  1. Windows.etc\hosts文件
  2. 全局配置_配置全局异常处理,结果没有想到,spring boot实践(3)
  3. tomcat(8)载入器
  4. 会话技术Session
  5. selenium编写脚本_Selenium脚本编写技巧和窍门
  6. 混合多云架构_使用混合多云每个人都应避免的3个陷阱(第3部分)
  7. jpa语法错误_JPA陷阱/错误
  8. java iterable_太糟糕了,Java 8没有Iterable.stream()
  9. java 内存同步_Java中的硬件事务性内存,或者为什么同步将再次变得很棒
  10. vue路由匹配实现包容性_我们甚至没有进行包容性的讨论