كيف يمكنني التوقيع على حزمة OSGI مع النملة دون الكتابة فوق محتويات البيان.

StackOverflow https://stackoverflow.com/questions/1877552

  •  18-09-2019
  •  | 
  •  

سؤال

لدي برنامج تشغيل Eclipse الذي قمت بإنشاء جرار Osgi Bundle مع النمل. أرغب في توقيعها بمهمة النمل، ولكن هذا الكتابة فوق محتويات البيان مع توقيعات الفصل، مما يجعل حزم OSGI غير صالحة للاستعمال. تحتوي أداة JDK Jarsigner على نفس السلوك. يبدو أن Eclipse PDE لديها هذه الوظيفة، ولكن بقدر ما أعرف أنه يمكنك استخدامها فقط من داخل الكسوف. أريد أن أكون قادرا على تشغيل بناء النمل من سطر الأوامر. هل يعرف أي شخص بطريقة بسيطة لإلحاق التوقيعات الفئة للإضحائص. بدلا من الكتابة فوقه؟

هل كانت مفيدة؟

المحلول

لا أعتقد أنه يتم الكتابة فوق البيان بشكل افتراضي. لاحظ البرنامج النصي وحدة التحكم التالية:

$ touch MyMainClass.class

$ echo 'Main-Class: MyMainClass' > MyManifest

$ jar cvmf MyManifest myjar.jar MyMainClass.class
added manifest
adding: MyMainClass.class(in = 0) (out= 0)(stored 0%)

$ unzip -c myjar.jar META-INF/MANIFEST.MF
Archive:  myjar.jar
  inflating: META-INF/MANIFEST.MF
Manifest-Version: 1.0
Created-By: 1.6.0_17 (Apple Inc.)
Main-Class: MyMainClass

$ jarsigner myjar.jar mykeyid
Enter Passphrase for keystore:

$ unzip -c myjar.jar META-INF/MANIFEST.MF
Archive:  myjar.jar
  inflating: META-INF/MANIFEST.MF
Manifest-Version: 1.0
Created-By: 1.6.0_17 (Apple Inc.)
Main-Class: MyMainClass
Name: MyMainClass.class
SHA1-Digest: 2jmj7l5rSw0yVb/vlWAYkK/YBwk=

نصائح أخرى

يبدو أن هذا هو مشكلة JDK. مع 1.5.0_16, ، يكتب JarSigner على بياني الحالي، ولكن مع 1.6.0_13 كل شيء يعمل بشكل جيد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top