用于更改.exe文件使用的图标的Java库

3
我们有一个NetBeans平台应用程序,它创建了一个自定义的可运行.exe文件,并使用默认的NetBeans图标 - 正如你所猜测的那样,当客户安装它时,他们并不满意。
这个NetBeans Wiki article和这个NetBeans Bug(已关闭)表明该平台无法在本地执行此操作,并建议使用第三方可执行文件来完成。
然而,在我们的svn repo中拥有一个二进制可执行文件,并在构建期间由maven调用,让我(和我的老板)感到不太高兴。
是否有一个库在Java中,最好可以在maven中使用,可以更改.exe文件使用的图标?
编辑:经过进一步研究,我发现this SO question...也没有得到答案。
编辑2:我们也不需要另一个能够为我们创建.exe的打包工具。我们对NetBeans平台的默认打包工具很满意,它已经与我们的开发/发布周期相当完美地集成在一起。

你必须明白,图标只在 .exe 上下文中才有意义,与 Java 没有任何关系;你应该调查可用于生成 Windows 可执行文件以包装你的 jar 文件的各种方式,以及它们的自定义方式。 - Viruzzo
@Viruzzo,我知道这只有在exe/Windows环境下才有意义——Windows可执行文件已经由NetBeans平台生成,并已集成到我们的构建周期中。然而,任何语言都可以进行可移植可执行文件(PE)操作,因此我认为期望存在一个Java库来完成这项工作是相当合理的(就像Delphi、C#等语言一样存在)。 - Marcelo
还不错,但我觉得最好使用另一个exe生成工具来解决低效的问题,而不是试图绕过它,特别是在NetBeans中没有什么魔法可言。此外,将构建过程与IDE分离似乎更加清晰。 - Viruzzo
@Viruzzo 请注意,我们在这里谈论的是NetBeans平台,而不是将NetBeans用作某个项目的IDE。 - Marcelo
检查这个答案:将图标包含到自包含的JavaFX应用程序(.exe)中 - Led Machine
3个回答

1

1

这不是一个能够实现你想要的功能的库,但我找到的最接近的是this - 它可以读取PE文件,并且是开源和Java编写的。你可以查看源代码以找到你需要的代码。


0

你为什么不在启动时简单地调用Window.setIconImages(),并加载一些图像,可能直接存储在JAR文件中?


1
我们正在做这件事,但它只在当前窗口/框架上设置图像 - 但可执行文件仍然没有图标,因此当在Windows资源管理器中看到它时,您会得到默认的NetBeans图标...如果用户决定创建快捷方式,它将使用.exe上的图标。 - Marcelo
啊,我明白了——我误解了你的目标。在这种情况下,你可能需要像其他人建议的那样使用Launch4J之类的工具来构建你的EXE文件。 - Thorn G

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接