首先,这不是制作Java类的EXE常见问题的重复。我不需要那样做。
为了解决NetBeans RFE #64612,而无需手动步骤,我需要一个Java(6+)库,可以获取一个现有的Windows *.exe
文件,并用通用格式的替代品替换其图标。该可执行文件是通用且预构建的(以二进制形式分发),已经知道如何加载特定于应用程序的配置文件,然后使用各种应用程序JAR等启动JRE;唯一的问题是它具有通用图标,我想在纯Java构建的一部分中用应用程序特定的图标替换该图标,使其看起来更漂亮。
<replaceicon from="app.exe" to="hello.exe" icon="hello.png"/>
有没有人知道是否已经存在符合这些规格的工具?从各种网络搜索中,我找到了Launch4J,但它似乎只是为了真正的工作而分叉windres,因此不容易移植。我发现JSmooth看起来更有前途——似乎包括处理ICO编解码器和操作PE文件的Java代码——但它是GPL许可证。WinRun4J似乎使用本地代码进行图标操作,尽管我很难跟踪其源代码。Jimi据说可以处理ICO格式(就像标准的javax.imageio
一样),但我猜它没有更新PE资源的功能。