Java exe启动程序,支持Windows 7

bbu*_*ser 30 java launcher windows-7

问题

目前我使用exe4j 4.4.2将我们的客户端应用程序包装在Windows本机可执行文件中,但结果并没有很好地与Windows 7集成.

例如:当我右键单击任务栏时,它只提供一个弹出窗口来关闭应用程序但没有固定.另一方面,Eclipse的Equinox发射器用虚张声势做到了这一点.

我正在寻找一个具有以下功能的java exe启动器:

  • 在Windows本机可执行文件中包装jar(没有Java Web Start或类似)
  • 不从可执行文件中提取jar
  • "程序文件"中不需要写访问权限
  • 使用可执行文件名作为进程名称(只有一个进程)
  • 与Windows 7完美集成(特别是在任务栏中固定)
  • 允许设置JVM参数(尤其是堆大小)
  • 灵活的JRE搜索定制
  • 轻量级
  • 积极维护
  • 在Ant构建中很好地集成
  • 优选免费

我检查了以下内容:

exe4j的

  • Windows 7集成缺乏
  • 它并不昂贵,但是为构建机器订购和分发许可证是一件痛苦的事.
  • JRE搜索不够灵活

Eclipse Equinox

  • 不轻巧
  • 似乎做我想做的一切,除了我不知道如何使用非基于非日食的应用程序.
  • 我可以在OSGI,PDE-Build世界之外使用它吗?

WinRun4J

  • JRE搜索没有很好的记录
  • 似乎没有广泛使用尽管功能设置令人难以置信,我错过了什么?

Launch4J

  • 不支持在Windows 7中设置进程名称(错误ID 3353972).有一个补丁(错误ID 1670471),但它已被拒绝参考jliftoff死了.
  • JRE搜索不够灵活.

JSmooth

  • 似乎没有积极维护.
  • 最新版本发布于2007年,远早于Windows 7.

还有其他选择吗?是否有机会将Eclipse启动程序与非基于Eclipse的应用程序一起使用?

小智 1

我对 WinRun4J 很满意。JRE 搜索对我来说效果很好。如果在 Windows 注册表中安装并注册了多个 JRE 和 JDK,有时会出现问题,尤其是在 64 位系统上,但这通常可以通过在相应的 .ini 文件中提供正确的路径来解决。

我没有使用 Launch4J,因为它在 JRE 安装文件夹中创建了一个新的(临时).exe,这对我来说有点奇怪。该方法的优点是,它可以为 32 位和 64 位 JVM 使用单个 .exe