gpt4 book ai didi

java - Java到EXE的好坏主意?

转载 作者:可可西里 更新时间:2023-11-01 13:18:32 24 4
gpt4 key购买 nike

我一直想知道有关将 Java 项目转换为EXE的问题。
优点在于在 Windows 上更快地部署,用户只需双击EXE,然后使用 Java 启动应用程序,他必须运行某些命令。
但是EXE实际上不是可移植性 Java 的用途。
那么,您如何看待Java对EXE的好主意?
我发现了一些有趣的文章here
更新
哇,到目前为止可能与上述观点相矛盾。我希望你们在EXE中添加JAVA的优缺点。

最佳答案

由于我的专长是Java Web Start,它是用于启动 table 面应用程序的。使用GUI,请考虑我的建议主要针对那些类型的应用程序。

其他人已经对EXE的特定于操作系统的性质发表了评论。我总是想知道为什么人们选择Java来开发Windows特定的 table 面应用程序,因为Windows的Visual Studio软件可能会同时进行GUI开发(没有X平台的Java布局可以弯腰)和部署(只是猜测它可以产生一个EXE)更容易。
OTOH只有您可以说什么是此用例的最佳开发工具/语言。

至于创建EXE的潜在弊端,我在JavaFAQ on EXEs上注明。
有很多充分的理由不将您的应用程序打包为可执行文件。 DanielSjöblom指出:

  • 可能不会更快。现代虚拟机不解释字节码,它们实际上使用JIT编译器来生成本地的编译后的代码。请访问Sun的站点以获取有关JIT编译器的更多信息。
  • 静态编译会增加应用程序的大小,因为您正在使用的所有库都需要链接到应用程序中。
  • 您将失去对程序的“免费”升级。只要您的用户下载了新的更快的虚拟机,您的应用程序就会获得提速。如果您使用的是exe,则不会获得此好处。

  • Jon A. Cruz详细介绍了创建exe所需的开发过程中的一些额外步骤。他指出,开发 native exe的开发人员需要:
  • 验证供应商提供的最新版本的编译产品。如果发现了严重的错误,则必须先解决这些错误,然后才能用于构建运输产品。供应商每次发布修订版本时都需要完成的工作。
  • 通过质量检查周期提交软件。一旦工程人员认为事情已经完成,就需要对其进行验证。因此,产品的每个发货版本和更新都需要经历完整的测试周期。
  • 此外,由于 native 编译是针对每个目标平台的,因此需要针对每个目标平台完全完成QA周期,这会增加所需的工作量。
  • 货架空间。如今可能不是什么大问题,但可能会如此。
  • 然后,需要让所有客户升级到正确的版本。拥有免费更新(在这种情况下,企业需要承担产生更新的成本),或者需要处理客户的全部更新。

  • Jon进一步指出:运送标准Java字节码时,VM问题由平台或VM供应商负责。但是,当您运送已编译的二进制文件时,它们将成为您的责任(即使它们实际上是供应商的编译产品中的错误)。
    ...

    当然,这是部署Java富客户端应用程序的首选。正在使用 Java Web Start。将网络启动的一些优点/特征放在点形式中:
    JWS提供了许多吸引人的功能,包括但不限于:
  • 初始屏幕
  • table 面集成
  • 文件关联
  • 自动更新(包括延迟下载和更新的程序控制)
  • 按平台,体系结构或Java版本对 native 和其他资源下载进行
  • 分区
  • 运行时环境的配置(最低J2SE版本,运行时选项,RAM等)
  • 使用扩展轻松管理公共(public)资源
    ..

  • 由于逐渐从应用程序转移,我决定突出显示自动更新。通过磁盘交付给应用程序。通过网络传送后,自动更新变得越来越普遍。 JWS仍然提供了我所见过的最佳更新体验(非常可配置,对用户几乎都是透明的)。
    当然,JWS在适用于Java的台式PC的OS上运行。

    更新

    ..does Java web apps require internet connection?


    (请注意,该名称是“Java Web Start”。)
    当然可以。至少对于初始安装。可以指定更新检查以继续启动该应用程序的先前安装的版本。如果用户当前未连接。
    但是,据我估计,没有CD/DVD驱动器的机器(例如上网本)要比没有Internet连接的机器多。 如果您想销售到更大的市场,请寻求网络来交付应用程序。

    关于java - Java到EXE的好坏主意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8785972/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com