私は署名付きのjarで提供したいEclipseプラグインをビルドしています。jarsignスクリプトが署名付きjarの既存のマニフェスト値を上書きしないようにするにはどうすればよいですか?
Eclipse UIを使用して更新サイトを作成し、そこから手動でプラグインと機能を構築した後、作成したjarに署名したいと思います。
このようにすると、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>
私はこの1つのようなプラグインから提供されたマニフェストを使用し、プラグインから:
Bundle-ManifestVersion: 2
Bundle-Name: Tomcat Manager Plugin
署名中に既存のマニフェストが保持されるようにするにはどうすればよいですか?
eclipse.jarsigner antタスクを使用できます。私たちはそれを私たちのproectsを使用し、それはyoluのように動作します。 jarsignerタスクに関する情報はありません。たぶんそれは属性行keepmanifestまたはuseexistingmanifesを持っているかもしれません... – guleryuz
私はあなたがeclipse.jarsigner antタスクで何を意味するか分かりません。私はant自身が提供するjarsigningのデフォルトのantタスクを使用しています。https://ant.apache.org/manual/Tasks/signjar.html – Markus
申し訳ありませんが、タスク名はeclipse.jarProcessorです.jar署名の属性があります。 sign = "true"を指定すると、既存のマニフェストを保持しながらjarファイルに署名します – guleryuz