अन्य

मैक जावा .jar फ़ाइल को कैसे संशोधित करें?

डी

डडलेब्रूक्स

मूल पोस्टर
अप्रैल 4, 2011
सैन फ्रांसिस्को
  • अप्रैल 14, 2011
मुझे एक एप्लिकेशन (थंडरबर्ड.एप) में एक साधारण संशोधन करने की आवश्यकता है - एक .jar फ़ाइल में एक पंक्ति को बदलना। अपने पुराने विंडोज कंप्यूटर पर मुझे पता था कि किस सॉफ्टवेयर का उपयोग करना है। स्नो लेपर्ड में ऐप में .jar फ़ाइल को खोलने, संशोधित करने और सहेजने का सबसे आसान तरीका क्या है? अधिमानतः उन चीजों का उपयोग करना जो ओएस में निर्मित हैं; यदि नहीं, तो फ्रीवेयर का उपयोग कर रहे हैं?

जिमिनौस

दिसंबर 16, 2010


सिडनी
  • अप्रैल 15, 2011
एक .jar फ़ाइल एक अलग एक्सटेंशन (और कुछ मानक/पूर्वनिर्धारित लेआउट) के साथ सिर्फ एक .zip फ़ाइल है। आप मानक ज़िप का उपयोग कर सकते हैं और .jar फ़ाइल को बदलने के लिए /usr/bin में प्रोग्राम को अनज़िप कर सकते हैं, यह मानते हुए कि यह हस्ताक्षरित नहीं है।

'एक .jar फ़ाइल में एक पंक्ति को बदलना' सीधे .jar फ़ाइल के संदर्भ में समझ में नहीं आता है। यदि आप हमें ठीक-ठीक बताते हैं कि आप उस .jar फ़ाइल के साथ क्या करना चाहते हैं, तो हम आपको बता सकते हैं कि आप कौन से Mac OS X टूल/प्रोग्राम का उपयोग कर सकते हैं और कैसे। एम

मफलन

सितम्बर 15, 2006
  • अप्रैल 15, 2011
वायरलेस तरीके से पोस्ट किया गया (iPhone; U; CPU iPhone OS 4_2_1 जैसे Mac OS X; sv-se) AppleWebKit/533.17.9 (KHTML, जैसे Gecko) संस्करण/5.0.2 मोबाइल/8C148 Safari/6533.18.5)

वास्तव में तीन चरण हैं: निष्कर्षण, संशोधन और इसे वापस एक साथ जोड़ना।

निकालना आसान है: राइट क्लिक करें और अनारकलीव (afaik) पर क्लिक करें।

संशोधन: यदि यह प्रकट है (चलने के लिए व्हिक क्लास और आगे) तो यह आसान है, हालांकि जावा फाइलों को .class फाइलों में संकलित किया जाता है और संशोधन से पहले अलग करने की आवश्यकता होगी।

सब कुछ एक साथ करने के लिए Google टर्मिनल के लिए 'जार' कमांड।

यदि यह FOSS है तो स्रोत से संकलन करना बेहतर और आसान है; यदि नहीं तो मुझे नहीं लगता कि यह 100% वैध है। डी

डडलेब्रूक्स

मूल पोस्टर
अप्रैल 4, 2011
सैन फ्रांसिस्को
  • अप्रैल 15, 2011
मुझे .jar फ़ाइल में निहित .js फ़ाइल में एक पंक्ति बदलने की आवश्यकता है। लेकिन आपका उत्तर मेरे प्रश्न को स्पष्ट करता है:

मैंने विंडोज के तहत कई बार यह बदलाव किया है (अर्थात् हर बार जब मैंने एक अपग्रेड डाउनलोड किया, जिसने निश्चित रूप से मेरे पिछले बदलाव को मिटा दिया)। जिस व्यक्ति ने परिवर्तन की सिफारिश की थी, उसने IZArc नामक एक (संयुक्त राष्ट्र) संग्रहकर्ता की भी सिफारिश की, जिसमें पूरी प्रक्रिया IZArc के अंदर से की जा सकती है - .jar फ़ाइल खोलें (अनआर्काइव) करें, .js फ़ाइल ढूंढें, लाइन संपादित करें ... और फिर Quit पर क्लिक करने से सब कुछ उसकी संग्रहीत स्थिति में वापस आ जाएगा।

मैं समझता हूं कि मैं .jar को किसी भी अनारकलीवर से अनआर्काइव कर सकता हूं और .js को किसी भी टेक्स्ट एडिटर से संपादित कर सकता हूं। मुझे लगता है कि मेरी चिंता यह है कि, प्रोग्रामर नहीं होने के कारण, मैं पुन: संग्रह में कुछ हानिकारक कर सकता हूं - सभी प्रासंगिक फाइलों को संग्रहित नहीं करना, या बहुत सारी फाइलों को संग्रहित नहीं करना, या कुछ और।

तो मेरा सवाल है: क्या कोई संग्रहकर्ता है (उम्मीद है कि ओएस में) जो उपरोक्त सभी को अपने भीतर से करेगा, ताकि मुझे पता चले कि अंतिम .jar में ठीक वही फाइलें हैं जिनमें यह होनी चाहिए? या, ऐसा न करने पर, मुझे यह सुनिश्चित करने के लिए क्या करने की ज़रूरत है कि मैंने इसे ठीक से फिर से संग्रहीत किया है? मुझे एहसास है कि इस मंच में यह एक पूर्ण नौसिखिया प्रश्न है।

नॉटजस्टजय

सितम्बर 19, 2003
कनाडा, एह?
  • अप्रैल 15, 2011
ठीक है, अगर .jar फाइलें केवल एक अलग एक्सटेंशन के साथ ज़िप फाइलें हैं, तो आप उन्हें 'ज़िप' और 'अनज़िप' कमांड का उपयोग करके टर्मिनल से स्वतंत्र रूप से ज़िप और अनज़िप कर सकते हैं।

chown33

मध्यस्थ
स्टाफ के सदस्य
अगस्त 9, 2009
अबाध विमान
  • अप्रैल 15, 2011
notjustjay ने कहा: ठीक है, अगर .jar फाइलें केवल एक अलग एक्सटेंशन वाली ज़िप फाइलें हैं, तो आप उन्हें 'ज़िप' और 'अनज़िप' कमांड का उपयोग करके टर्मिनल से स्वतंत्र रूप से ज़िप और अनज़िप कर सकते हैं।

या 'जार' कमांड का उपयोग करें, जो इस उद्देश्य के लिए स्पष्ट रूप से लिखा गया है, और मैनिफेस्ट के लिए सही क्रम बनाए रखता है (जो आम तौर पर पहली प्रविष्टि के रूप में रहना चाहिए, या पहले कुछ में से अधिक से अधिक होना चाहिए)।

मुझे पूरा यकीन है कि जार कमांड डिफ़ॉल्ट रूप से स्थापित है। यह 10.7 शेर पर भी सच होना चाहिए।
प्रतिक्रियाएं:एब्रोन्सडिलन

नॉटजस्टजय

सितम्बर 19, 2003
कनाडा, एह?
  • अप्रैल 15, 2011
chown33 ने कहा: या 'जार' कमांड का उपयोग करें, जो इस उद्देश्य के लिए स्पष्ट रूप से लिखा गया है, और मैनिफेस्ट के लिए सही क्रम बनाए रखता है (जो आम तौर पर पहली प्रविष्टि के रूप में रहना चाहिए, या पहले कुछ में से अधिक से अधिक)।

मुझे पूरा यकीन है कि जार कमांड डिफ़ॉल्ट रूप से स्थापित है। यह 10.7 शेर पर भी सच होना चाहिए।

आह, और भी बेहतर। धन्यवाद, इसके बारे में नहीं पता था।

पायलट त्रुटि

अप्रैल 12, 2006
लम्बा द्वीप
  • अप्रैल 15, 2011
या आप jar कमांड का उपयोग कर सकते हैं। पैरामीटर कमांड लाइन ज़िप उपयोगिताओं की तरह ही हैं

$jar -xvf jarfile.jar ** फाइलों को निकालता है

**फ़ाइल संपादित करें**

$jar -cvf jarfile.jar ** नई जार फ़ाइल बनाएँ
प्रतिक्रियाएं:एब्रोन्सडिलन डी

डडलेब्रूक्स

मूल पोस्टर
अप्रैल 4, 2011
सैन फ्रांसिस्को
  • अप्रैल 15, 2011
धन्यवाद। पायलट एरर की विधि सीधी और सफल थी - कोई सॉफ़्टवेयर त्रुटि, नौसिखिया त्रुटियाँ, या यहाँ तक कि पायलट त्रुटियाँ भी नहीं। लेकिन इसमें अभी भी विंडोज में मेरी जरूरत से ज्यादा कदम थे: एक संपादक का उपयोग करने के लिए टर्मिनल से अनआर्काइविंग के बाद, डेस्कटॉप पर स्विच करना (मेरी गलती, बेशक, यूनिक्स संपादक (ओं) को नहीं जानने के लिए, जो मुझे लगता है कि टर्मिनल की पहुंच है) , फिर टर्मिनल पर पुन: संग्रह करने के लिए - साथ ही यूनिक्स कमांड के लिए आवश्यक अधिक कीस्ट्रोक। मैं अब भी एक ऐसा संपादक ढूँढ़ना चाहूँगा जो यह *सब* एक प्रोग्राम के अंदर करता हो, जैसे IZArc ने विंडोज़ में किया था: ctrl-open, edit, ctrl-close -- zip-zip (पन इरादा)!

chown33

मध्यस्थ
स्टाफ के सदस्य
अगस्त 9, 2009
अबाध विमान
  • अप्रैल 15, 2011
डडलेब्रुक ने कहा: धन्यवाद। पायलट एरर की विधि सीधी और सफल थी - कोई सॉफ़्टवेयर त्रुटि, नौसिखिया त्रुटियाँ, या यहाँ तक कि पायलट त्रुटियाँ भी नहीं। लेकिन इसमें अभी भी विंडोज में मेरी जरूरत से ज्यादा कदम थे: एक संपादक का उपयोग करने के लिए टर्मिनल से अनआर्काइविंग के बाद, डेस्कटॉप पर स्विच करना (मेरी गलती, बेशक, यूनिक्स संपादक (ओं) को नहीं जानने के लिए, जो मुझे लगता है कि टर्मिनल की पहुंच है) , फिर टर्मिनल पर पुन: संग्रह करने के लिए - साथ ही यूनिक्स कमांड के लिए आवश्यक अधिक कीस्ट्रोक। मैं अब भी एक ऐसा संपादक ढूँढ़ना चाहूँगा जो यह *सब* एक प्रोग्राम के अंदर करता हो, जैसे IZArc ने विंडोज़ में किया था: ctrl-open, edit, ctrl-close -- zip-zip (पन इरादा)!

मैं किसी भी उपकरण के बारे में नहीं जानता जो सब कुछ करता है। सच कहूँ तो, यह पहली बार है जब मैंने कभी किसी को मैक ओएस पर एक जार के भीतर एक फ़ाइल को संपादित करने का तरीका पूछते देखा है, इसलिए मुझे लगता है कि कोई बड़ा लक्ष्य बाजार नहीं है।

आप कमांड-लाइन्स को टर्मिनल में पेस्ट कर सकते हैं, इसलिए बस कमांड्स को टेक्स्ट फाइल में सेव करें, फिर कॉपी और पेस्ट करें। टाइपिंग की जरूरत नहीं।

यहाँ मोटे तौर पर मैं टेक्स्ट फ़ाइल में क्या सहेजूँगा:
कोड: |_+_| आपको स्पष्ट रूप से jarfile.jar को आपके पास मौजूद वास्तविक जार फ़ाइल में बदलना चाहिए।

मैंने ## दिखाया है क्योंकि वे बैश के लिए वास्तविक टिप्पणी चरित्र हैं।

मैंने एक पथनाम के साथ एक 'ओपन-ई' कमांड भी दिखाया है जिसे आपको स्थानापन्न करना होगा। open -e, TextEdit.app में नामित फ़ाइल को खोलेगा। यदि आपके पास कोई अन्य संपादक है जिसे आप पसंद करते हैं, तो आप इसके बजाय इसका उपयोग करने के लिए 'खुला' कह सकते हैं। यहाँ 'ओपन' कमांड के लिए मैन पेज है:
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/open.1.html
विशेष रूप से -ए और -बी विकल्पों को देखें।

अंत में, आप वहां अन्य कमांड डाल सकते हैं, जैसे 'cd someDir' या जो कुछ भी आप चाहते हैं।

आप शायद प्रतिस्थापन करने के लिए एक 'sed' स्क्रिप्ट लिख सकते हैं, इसलिए आपको फ़ाइल को मैन्युअल रूप से संपादित करने की आवश्यकता नहीं होगी। तब आप पूरी चीज़ को एक शेल स्क्रिप्ट में बना सकते हैं, उसे AppleScript में लपेट सकते हैं और इसे एक छोटी बूंद के रूप में सहेज सकते हैं। फिर भविष्य में, आप बस अपने मूल ऐप को ऐप्पलस्क्रिप्ट ड्रॉपलेट पर छोड़ दें और यह सभी बदलाव स्वचालित रूप से करेगा। हालांकि, आपको उस सभी चीजों को लिखना और डीबग करना होगा, और ऐप अपडेट होने पर कॉपी/पेस्ट करने में शायद घंटों अधिक समय लगेगा।

यदि जार में परिवर्तन कुछ ऐसा है जो विक्रेता को प्रदान करना चाहिए, तो आपको शायद ऐप के खिलाफ बग-रिपोर्ट दर्ज करनी चाहिए। क्योंकि सबसे साफ फिक्स यह है कि इसे खुद ठीक नहीं करना है।

पायलट त्रुटि

अप्रैल 12, 2006
लम्बा द्वीप
  • अप्रैल 15, 2011
विंडोज़ पर, आप pkzip या winzip जैसे प्रोग्राम का उपयोग कर सकते हैं जो विंडो में सामग्री दिखाते हैं और आप केवल एक फ़ाइल को डबल क्लिक कर सकते हैं जो हुड के नीचे निकाली जाती है और संबंधित प्रोग्राम (संपादक) को भेजी जाती है।

ओएस एक्स के तहत ज़िप उपयोगिताएं हैं, लेकिन माना जाता है कि मैं ओएस एक्स का उपयोग नहीं करता जैसे मैं विंडोज़ का उपयोग करता हूं। मुझे यकीन है कि आप उन कार्यक्रमों में से एक को ट्रैक कर सकते हैं जो आपको वही काम करने की अनुमति देगा, लेकिन यहां जो जरूरी था, उसके लिए इसे खोजना उचित नहीं था। डी

डडलेब्रूक्स

मूल पोस्टर
अप्रैल 4, 2011
सैन फ्रांसिस्को
  • अप्रैल 16, 2011
पायलट त्रुटि और चाउन 33: मुझे यकीन है कि आप ओएस एक्स में बाजार की कमी के बारे में सही हैं।

Chown33: स्वचालन के बारे में सलाह और इसमें शामिल विवरणों के लिए धन्यवाद। मैं उनकी कोशिश करूंगा। ओएमजी, मैं एक प्रोग्रामर बन सकता हूँ!

यह कुछ ऐसा है *मुझे लगता है कि इसे ठीक किया जाना चाहिए, लेकिन यह कोई बग नहीं है: थंडरबर्ड में ई-मेल पतों के लिए एक उन्नत खोज सुविधा है, जो कई पते लौटा सकती है। यदि आप लिखें पर क्लिक करते हैं, तो यह उन सभी को 'प्रति' फ़ील्ड (बिना किसी अन्य विकल्प के) में डाल देता है। यह बदलाव उन्हें बेहतर नेटिकेट के लिए 'बीसीसी' फ़ील्ड में डाल देता है। TB 1.x के पास यह विकल्प हुआ करता था, लेकिन 2.x में इसे खो दिया। पी

पेरेगिन55

फरवरी 25, 2008
  • 8 मई 2011
Emacs वही करेगा जो आप चाहते हैं

लिनक्स और मैक ओएस एक्स पर मैं एक जार के भीतर फाइलों को संपादित करने के लिए emacs का उपयोग करता हूं। बस टाइप करो:

emacs somejar.jar

फिर आप मानक emacs कमांड का उपयोग करके जार में सभी फाइलों को खोल सकते हैं, खोल सकते हैं, सहेज सकते हैं। आपके द्वारा किए गए कोई भी परिवर्तन स्वचालित रूप से जार पर लागू हो जाएंगे (मैन्युअल रूप से कुछ भी अनजर करने की आवश्यकता नहीं है)
प्रतिक्रियाएं:एब्रोन्सडिलन डी

डडलेब्रूक्स

मूल पोस्टर
अप्रैल 4, 2011
सैन फ्रांसिस्को
  • 8 मई 2011
धन्यवाद!

पेरेगिन55

यह जानकर अच्छा लगा।

-
डुडले बी

बड़ी आपदा

जनवरी 14, 2010
  • जून 8, 2012
अर्घ यह काम नहीं करता। मुझे .class फ़ाइलों में कुछ स्ट्रिंग को प्रतिस्थापित करने की आवश्यकता है (मैं बिल्कुल समान प्रतीकों का उपयोग करता हूं), फिर मैं इसे jar कमांड के साथ दोबारा पैक करने का प्रयास करता हूं, लेकिन परिणामी फ़ाइल प्रारंभिक एक से कुछ बाइट्स छोटी होती है, और जब मैं इसे मेरे मोबाइल पर स्थापित करने का प्रयास करें यह 'गलत जार प्रारूप' कहता है।
कोई विचार?

टॉपहैटप्रोडक्शंस115

अगस्त 22, 2016
  • नवंबर 10, 2016
पायलट त्रुटि ने कहा: या आप जार कमांड का उपयोग कर सकते हैं। पैरामीटर कमांड लाइन ज़िप उपयोगिताओं की तरह ही हैं

$jar -xvf jarfile.jar ** फाइलों को निकालता है

**फ़ाइल संपादित करें**

$jar -cvf jarfile.jar ** नई जार फ़ाइल बनाएँ


क्या यह हस्ताक्षरित जावा अभिलेखागार के लिए काम करेगा?

माइकलवार्न

11 नवंबर 2016
  • 11 नवंबर 2016
आप किसी भी संपीड़ित पाठ फ़ाइलों में फ़ाइलों को संपादित करने के लिए विम संपादक का उपयोग कर सकते हैं।
  1. टर्मिनल से फ़ाइल स्थान पर नेविगेट करें।
  2. विम नाम टाइप करें। जार
  3. उस फ़ाइल का चयन करें जिसे आप बदलना चाहते हैं और एंटर दबाएं
  4. फ़ाइल संपादित करें और Esc दबाएं और :wq! बचाने और छोड़ने के लिए।
उम्मीद है ये मदद करेगा।

ओकेइयाम

दिसंबर 17, 2016
  • दिसंबर 18, 2016
हाँ, मैं भी विंडोज़ में जार फ़ाइल में क्लासपाथ संपादित करने के लिए 7zip का उपयोग करता था जे

जतरा

अप्रैल 23, 2009
  • दिसंबर 21, 2016
यदि आपको थंडरबर्ड.एप को संशोधित करने की आवश्यकता है, तो स्रोत का उपयोग करें, अपना परिवर्तन करें और इसे बनाएं।

https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions सी

क्लोवर

नवंबर 13, 2018
  • नवंबर 13, 2018
माइकलवार्न ने कहा: आप किसी भी संपीड़ित पाठ फ़ाइलों में फ़ाइलों को संपादित करने के लिए विम संपादक का उपयोग कर सकते हैं।
  1. टर्मिनल से फ़ाइल स्थान पर नेविगेट करें।
  2. विम नाम टाइप करें। जार
  3. उस फ़ाइल का चयन करें जिसे आप बदलना चाहते हैं और एंटर दबाएं
  4. फ़ाइल संपादित करें और Esc दबाएं और :wq! बचाने और छोड़ने के लिए।
उम्मीद है ये मदद करेगा।
क्या हम इसे बैश का उपयोग करके स्वचालित नहीं कर सकते? यदि आप इसके माध्यम से ज्ञानवर्धन करते हैं तो यह बहुत मददगार होगा।
प्रतिक्रियाएं:एब्रोन्सडिलन