我试图使用命令行jarsigner或ant任务对applet进行自我签名。我发现jarsigner和signjar都覆盖了包含必要的代码库和权限条目的maniftest.mf文件,因此当applet运行时会因为缺少条目而失败。我尝试在签名后添加必要的条目,但这会导致applet无法加载,这意味着这些代码库和权限条目也必须进行签名。与JDK、1.7.0_40或1.6.0_51在Mac或Win上的结果相同。
我确信这是用户错误,否则互联网上就会出现问题和抱怨。我一直在找这个问题,却没有找到可行的解决办法。你们中有谁遇到并解决了这个看似被抓到的问题-22?感谢你的帮助!
发布于 2013-10-21 04:09:40
回答我自己的问题,以防有类似谜题的人通过谷歌来到这里。
我一直在使用ant清单任务动态创建我的manifest.mf文件。也就是说,没有名为"manifest.mf“的物理文件系统文件。这个任务将一个manifest.mf文件添加到由ant打包的JAR中,没有问题,但不知为什么,以这种方式创建的清单与jarsigner工具(包括ant任务)之间存在着不愉快的交互。如果我在文件系统上创建一个物理manifest.mf文件,让jar任务将该文件包含在.jar中,然后通过signjar签名,一切都好。
我不知道这是清单任务中的一个bug,还是我做错了。我知道手动滚动我自己的manifest.mf文件是正确的。
我希望这对将来的人有帮助!
https://stackoverflow.com/questions/19338378
复制相似问题