支持 Windows 7 的 Java exe 启动器

发布于 2024-11-29 22:12:44 字数 1196 浏览 0 评论 0原文

问题

目前我使用 exe4j 4.4.2 将我们的客户端应用程序包装在 Windows 本机可执行文件中,但结果与 Windows 7 集成得不太好。

例如:当我右键单击任务栏时,它只提供一个弹出窗口来关闭应用程序,但没有固定。另一方面,Eclipse 的 Equinox 启动器则大胆地做到了这一点。

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

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

我已经检查了以下内容:

exe4j

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

Eclipse Equinox

  • 不轻量级
  • 似乎可以做我想做的一切,除了我不知道如何做 与非基于 Eclipse 的应用程序一起使用。
  • 我可以在 OSGI、PDE-Build 世界之外使用它吗?

WinRun4J

  • JRE 搜索没有详细记录
  • 尽管功能集令人难以置信,但似乎并未广泛使用,我错过了什么?

Launch4J

  • 不支持在 Windows 7 中设置进程名称(错误 ID 3353972)。 有一个补丁(Bug ID 1670471)但已被拒绝引用 到 jliftoff 已经死了。
  • JRE搜索不够灵活。

JSmooth

  • 似乎没有得到积极维护。
  • 最新版本是 2007 年发布的,早于 Windows 7。

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

The Problem

Currently I use exe4j 4.4.2 to wrap our client app in a Windows native executable, but the result does not integrate with Windows 7 so well.

For example: When I right click in the task bar it only offers a pop-up to close the application but no pinning. Eclipse' Equinox launcher on the other hand does that with bravado.

I'm looking for a java exe launcher which has the following features:

  • Wraps jars in Windows native executables (no Java Web Start or similar)
  • Doesn't extract the jar from the executable
  • Doesn't need write access in "Program Files"
  • Uses executable filename as process name (only one process)
  • Integrates well with Windows 7 (esp. pinning in the taskbar)
  • Allows setting of JVM arguments (esp. heap size)
  • Flexible customization for JRE search
  • Lightweight
  • Actively maintained
  • Integrates well in Ant build
  • Preferably free

I have checked the following:

exe4j

  • Windows 7 integration lacking
  • It's not expensive but ordering and
    distribution of licenses to the build machines is a pain.
  • JRE search not flexible enough

Eclipse Equinox

  • Not lightweight
  • Seems to do everything I want, except that I have no idea how
    to use it with a non-eclipse-based app.
  • Can I use it outside of OSGI, PDE-Build world?

WinRun4J

  • JRE search not well documented
  • Seems not widely used despite incredible feature set, what am I missing?

Launch4J

  • Doesn't support setting the process name in Windows 7 (Bug ID 3353972).
    There is a patch (Bug ID 1670471) but it has been rejected with reference
    to jliftoff which is dead.
  • JRE search not flexible enough.

JSmooth

  • Seems not to be actively maintained.
  • Latest release is from 2007, well before Windows 7.

Are there any other options?
Is there a chance to use the Eclipse launcher with a non Eclipse-base application?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

迷雾森÷林ヴ 2024-12-06 22:12:44

尝试高级安装程序http://www.advancedinstaller.com/java.html(有一个免费的版本在此)。

Try Advanced Installer http://www.advancedinstaller.com/java.html (There is a free edition available in this).

请持续率性 2024-12-06 22:12:44

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

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

I'm happy with WinRun4J. The JRE search works fine for me. It sometimes chokes especially on 64bit systems if multiple JREs and JDKs are installed and registered in the Windows registry, but this can usually be fixed by supplying the correct path in the corresponding .ini file.

I did not use Launch4J because it creates a new (temporary) .exe in the JRE installation folder which seems a bit strange to me. The advantage of that method is, that it can use a single .exe for both 32 and 64 bit JVMs though

梦魇绽荼蘼 2024-12-06 22:12:44

在我看来,您只需要使用 Launch4J 即可。进程名称与您启动时使用的 .exe 名称相匹配。以这种方式包装的程序的一个很好的例子是“Keystore Explorer 4.01”。

It sounds to me like you just need to go with Launch4J. The process name matches the .exe name that you launch with. A great example of a program that is wrapped this way is "Keystore Explorer 4.01".

坠似风落 2024-12-06 22:12:44

我会创建一个bat文件。将此bat文件包装成exe。您可以创建一个带有图标和所有内容的 exe。试试这个bat到exe转换器:

http://download. cnet.com/Bat-To-Exe-Converter/3000-2069_4-10555897.html

这样,你就可以更好地 控制。 exe 的大小非常小。

编辑:此外,exe 的创建是一次性的事情。

I would create a bat file. Wrap this bat file into a exe. You can create an exe with an icon and everything. Try this bat to exe converter:

http://download.cnet.com/Bat-To-Exe-Converter/3000-2069_4-10555897.html

In this way, you have better control. The size of the exe is very small.

Edit: Also, the creation of the exe is one time thing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文