1
我正在构建一个Eclipse插件,我想用带签名的jar包来交付。如何防止jarsign脚本覆盖已签名jar中的已有Manifest值?
使用Eclipse UI创建更新站点并从那里手动构建插件和功能后,我想签署创建的jar。
这样做会导致罐子中的清单丢失其OSGI元信息属性,因此在重新启动eclipse后无法找到插件。只有签署信息留在Jars的清单中。
我用这个片段签署文物,但我也可以重现此问题与JDK工具jarsign:
<signjar alias="${keystore.alias}" keystore="${keystore}"
storepass="${keystore.password}"
lazy="true" tsaurl="http://time.certum.pl/">
<path>
<path refid="plugins"/>
<path refid="features"/>
</path>
</signjar>
从我使用所提供的舱单从插件这样一个插件:
Bundle-ManifestVersion: 2
Bundle-Name: Tomcat Manager Plugin
如何在签名时保留现有的清单?
您可以使用eclipse.jarsigner ant任务。我们把它用在我们的项目上,它像yolu一样工作。我没有关于jarsigner任务的信息。也许它也有一个属性行keepmanifest或useexistingmanifes ... – guleryuz
我不知道你的意思是与eclipse.jarsigner蚂蚁任务。我使用ant自身提供的默认ant任务进行jarsigning:https://ant.apache.org/manual/Tasks/signjar.html – Markus
抱歉,任务名称是eclipse.jarProcessor,它具有jar签名属性。 sign =“true”会在点击现有清单的同时在jar上签名 – guleryuz