gpt4 book ai didi

java - 在 Windows 10 计算机上安装 Java 可执行文件的示例

转载 作者:行者123 更新时间:2023-12-02 10:57:29 24 4
gpt4 key购买 nike

我想一些具有在 Windows 桌面上交付 Java 应用程序经验的 Java 专家将能够在这一方面表现出色。我一直是一名 Mac/Linux Java 开发人员,所以这对我来说是一个未知的领域:-/。

我必须编写一个 Java 8 Swing 应用程序并将其安装在 Windows 10(64 位)计算机上。我的计划是将应用程序打包为可执行 JAR,并用 Launch4J 包裹它。 ,使其看起来像 native Windows EXE(.exe 文件)。然而,它比分发更复杂一点:

  • 将会有如上所述的 JAR/EXE,我们将其命名为 myapp.exe(由 myapp.jar 构建)
  • 应用程序会将日志输出到(本地?)目录,myapp.log
  • 应用程序将在运行时加载配置文件,myapp.properties
  • 分发版还应包含用户指南,MyApp User Guide.html

假设计算机上已经安装了 Java 8 JRE/JDK,因此我们无需担心安装 Java 本身。

安装过程必须简单并包括:

  1. 从计算机上完全删除旧版本(及其所有其他工件,例如日志文件、配置/属性文件、用户指南等)
  2. 在 Windows 10 默认位置安装新版本,或允许用户指定其他位置

此外,如果可能的话,我希望安装过程包括:

  • 要求检查最小内存和磁盘空间、操作系统版本信息/兼容性(即确保其安装在 Windows 10 上等)
  • 提供易于使用的向导,例如用户可以单击的 MSI
  • 可以选择安装用户桌面的快捷方式
  • 鉴于这一切,我想知道在现代 Windows 10/Java/Launch4J 环境中我的选择是什么。是否有工具可以帮助我快速编写 MSI 脚本,或者我是否必须使用 C#/.NET 编写自己的脚本并将其作为单独的二进制文件/项目?如果 MSI 不是一个选项,那么有哪些选项可以满足我上面的所有要求?

    我意识到我可以将整个内容作为 ZIP 进行分发,并且安装过程如下所示:

    1. 将 ZIP 保存到用户计算机上的某个位置,例如桌面
    2. 手动将之前的应用及其工件移至回收站
    3. 解压新的 ZIP

    然而,这感觉很糟糕,我正在寻找更专业的东西。这里有什么解决方案吗?

    最佳答案

    JDK 8 与一个名为 javapackager(以前称为 javafxpackager)的工具捆绑在一起,该工具是 JavaFX 的一部分。但是,您可以使用它打包 java swing 应用程序,而无需使用 JavaFX。该工具可以生成一个安装程序文件(exemsi),其中还包含应用程序和 Java 运行时。

    这是一个例子:

    javapackager -deploy -native exe -Bruntime="C:\Program Files\Java\jdk1.8.0_66\jre" -Bicon=app_icon.ico -BsystemWide=true -BshortcutHint=true -outdir packages -outfile appFile -srcdir dist -srcfiles MyApp.jar;COPYING.txt -appclass somePackage.MainClass -BlicenseFile=COPYING.txt -name appName -title "The application name"

    有关详细信息,请参阅 adding icon to bundle using javapackager

    <小时/>

    还有一个new tool called jpackage它基于javapackager。建议与下一个 JDK 版本 JDK 14 一起发布。请注意,自版本 11 起,作为删除 JavaFX 的一部分,javapackager 已从 JDK 中删除。

    参见A Brief Example Using the Early Access jpackage Utility

    关于java - 在 Windows 10 计算机上安装 Java 可执行文件的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58862728/

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