2012-10-15 16 views
5

क्या कोई उपकरण उपलब्ध है जो एक jar से manifest.mf फ़ाइल लेगा और सामग्री को अच्छी तरह से प्रदर्शित करेगा?Manifest.mf फ़ाइल व्यूअर?

विशेष रूप से जब ओएसजीआई बंडलों के साथ काम करते हैं तो निर्यात-पैकेज और आयात-पैकेज प्रविष्टियां काफी बड़ी और मुश्किल हो सकती हैं कि क्या हो रहा है। इस सरल कीवर्ड टेक्स्ट खोज में जोड़ा गया लाइन ब्रेक के कारण 100% विश्वसनीय नहीं है।

उत्तर

5

कॉन्फ़िगर किया गया मेरा मानना ​​है कि BND tools के लिए ग्रहण प्लगइन काफी अच्छी तरह से यह करता है का उपयोग कर सकते ग्रहण उपयोग कर रहे हैं। इसमें एक जार फ़ाइल देखने के लिए एक संपादक है।

+0

यह लगभग ठीक है जो मैं बाद में था - जेएआर संपादक केवल स्पष्ट फ़ाइल को सादा पाठ के रूप में दिखाता है लेकिन बीएनडी बंडल संपादक एक जार फ़ाइल खोलने और पार्स खोलने में सक्षम लगता है और प्रदर्शित करता है आयात pkgs अच्छी तरह से (+1) लेकिन निर्यात या निजी pkgs (-1) नहीं। – pauli

+2

असल में यह सही नहीं है। यदि आपने अपनी जार फ़ाइल को अपने सीएनएफ रिपोजिटरी में जोड़ा है, तो आपको केवल रिपोजिटरी व्यू में बंडल पर क्लिक करना होगा और फिर "आयात/निर्यात" दृश्य देखें। वहां आप देखेंगे कि किस प्रकार के पैकेज आयात किए जाएंगे और किस प्रकार के पैकेज निर्यात किए जाएंगे।लेकिन निश्चित रूप से निजी नहीं, बीसी वे अभी भी निजी हैं;) –

+2

ध्यान दें कि बेंडटॉल्स के हाल के संस्करण में आप जेएआर संपादक को एक स्टैंडअलोन घटक के रूप में स्थापित कर सकते हैं, यानी आपको पूरे बेंडटॉल्स को इंस्टॉल करने की आवश्यकता नहीं है यदि आप ' टी करना चाहता हूँ –

0

क्या आप प्लगइन प्रकट संपादक द्वारा

enter image description here

+0

ग्रहण जार फ़ाइल को नहीं खोल पाएगा, आपको संपादक का उपयोग करने से पहले इसे पहले से एक प्रोजेक्ट बनाना होगा। – Robin

+0

@ रोबिन सही सवाल पूरी तरह से नहीं पढ़ते हैं :) – shyam

2

ही bnd कमांड लाइन से चलाया जा सकता है और सभी विवरण प्रिंट होगा:

java -jar biz.aQute.bnd.run.jar xx.jar 

तुम भी bndtools में एक जार पर क्लिक करें और प्रिंट टैब का चयन कर सकते हैं, यह आप और अधिक विवरण की तुलना में आप शायद जरूरत है देता है ।

bnd आदेशों के बारे में जानकारी के लिए https://bndtools.ci.cloudbees.com/job/bnd.master/lastSuccessfulBuild/artifact/dist/bundles/biz.aQute.bnd/biz.aQute.bnd-latest.jar

प्रकार bnd मदद से डाउनलोड किया जा सकता है। जावास्क्रिप्ट में

+0

क्लाउडबीस लिंक टूटा हुआ है। –

2

पार्स यह;) यहाँ एक JSFiddle है करने के लिए बहुत-प्रिंट एक OSGi MANIFEST.MF फ़ाइल:

http://jsfiddle.net/scotch/5WJwd/embedded/result/

var sectionsText = text.split(/\n\n\n/), 
    sections = {}, 
    sectionText, 
    name, 
    body, 
    packagesText, 
    packages, 
    packageName, 
    packageBody; 

for (var i in sectionsText) { 
    sectionText = sectionsText[i]; 
    name = sectionText.substr(0, sectionText.indexOf(": ")); 
    body = sectionText.substr(sectionText.indexOf(": ") + 2); 
    sections[name] = body; 

    if (name.indexOf("Package") != -1) { 
     body = body.replace(/[\n\r] /g, ''); 
     body = body.replace(/(,)(?=(?:[^"]|"[^"]*")*$)/g, "$1\n"); 
     packagesText = body.split(/\n/); 
     packages = {}; 
     for (var i in packagesText) { 
      packageBody = packagesText[i]; 
      packageName = packageBody.substr(0, packageBody.indexOf(";")); 
      packageBody = packageBody.substr(packageBody.indexOf(";")+1); 

      if (collapse) { 
       packageBody = packageBody.replace(/uses:="[^"]*"/g, 'uses:="..."'); 
      } 

      packages[packageName] = packageBody;//.replace(/;/g, ';\n'); 
     } 
     sections[name] = packages; 
    } 
} 

यह भी वर्णमाला के क्रम से प्रविष्टियों सॉर्ट करता है ताकि आप तुलना कर सकते हैं उन्हें। उम्मीद है कि यह किसी के लिए उपयोगी होगा (विशेष रूप से ग्रहण के बाहर विकासशील लोग)।

+1

वास्तव में बहुत उपयोगी, बहुत धन्यवाद! –

1

मैंने मैवेन सेंट्रल से bnd.jar डाउनलोड किया।
http://repo1.maven.org/maven2/biz/aQute/bnd/bnd/2.2.0/bnd-2.2.0.jar

और हाँ, मैं इसे चला सकते हैं और यह प्रकट सुंदर-प्रिंट:

java -jar bnd-2.2.0.jar example.jar 

प्रिंट आदेश से पता चलता आयात-पैकेज और निर्यात-पैकेज भी अच्छे:

java -jar bnd-2.2.0.jar print example.jar 
संबंधित मुद्दे