हैलो स्टैक ओवरफ़्लो मित्रों को संशोधित करें। मुझे एक साधारण समस्या है जो मुझे डर है कि इसका कोई आसान समाधान नहीं है और मुझे आगे बढ़ने के तरीके के बारे में सलाह चाहिए। मैं एक जावा एप्लिकेशन को कार्यान्वित कर रहा हूं और निष्पादन योग्य जेएआर को कार्यान्वित कर रहा हूं लेकिन इसे निष्पादन के दौरान अपनी कुछ जेएआर फाइल सामग्री को संशोधित करने की आवश्यकता है। इस स्तर पर मैंने एक समस्या आई है क्योंकि कुछ ओएस फ़ाइल को रोकने से रोकने वाली फाइल को लॉक करते हैं।निष्पादित जार फ़ाइल
यह आवश्यक है कि उपयोगकर्ता जब तक बाहर निकलता है तब तक उपयोगकर्ता जार फ़ाइल का एक अद्यतन संस्करण देखता है, हालांकि मैं इसे कैसे प्राप्त करना है, इस बारे में काफी लचीला हो सकता हूं। एक स्वच्छ और कुशल समाधान स्पष्ट रूप से prefereable है लेकिन पोर्टेबिलिटी एकमात्र मुश्किल आवश्यकता है।
समस्या को हल करने के लिए मैं निम्नलिखित तीन दृष्टिकोण देख सकता हूं, उन पर टिप्पणी करने या दूसरों का सुझाव देने के लिए स्वतंत्र महसूस करें।
- बताएँ जावा लिखने के लिए JAR फ़ाइल अनलॉक करने के लिए (यह does not संभव प्रतीत लेकिन यह Easyest समाधान होगा)
- कॉपी आवेदन स्टार्टअप पर tempory फाइल करने के लिए निष्पादन योग्य वर्ग फ़ाइलों, लोड करने के लिए एक वर्ग लोडर का उपयोग इन फ़ाइलों को और प्रारंभिक जेएआर फ़ाइल से अनलोड करें। (क्लासलोडर्स के साथ बहुत अधिक अनुभव नहीं था, लेकिन उम्मीद है कि जेवीएम इतना समझने के लिए पर्याप्त होगा कि मूल जेएआर उपयोग में नोलॉन्डर है और इसलिए इसे अनलॉक करें)
- एक सेकेंड रखो पहले के अंदर निष्पादन योग्य जेएआर फ़ाइल, स्टार्टअप पर आंतरिक जार को ई अस्थायी रूप से निकालने के लिए, प्रतिलिपि आंतरिक जेएआर का उपयोग करके एक नई जावा प्रक्रिया का आह्वान करें और इसे बाहरी जार का स्थान पास करें, पहली प्रक्रिया बाहर निकलता है, दूसरी प्रक्रिया बाहरी जार unincumbered modifys। (यह काम करते हैं लेकिन यकीन नहीं वहाँ एक जावा अनुप्रयोग एक और लागू की एक मंच स्वतंत्र तरीका है im होगा)
मैं जानता हूँ कि यह एक अजीब सवाल है, लेकिन किसी भी मदद की सराहना की जाएगी ।
क्या आप कोई संकेत दे सकते हैं कि निष्पादन के दौरान आपको जार फ़ाइल को संशोधित करने की आवश्यकता क्यों है? – Poindexter
@ पंकिनोब्रेन आप पुराने स्कूल चींटी तरीके से सोच रहे हैं, मेरा सुझाव है कि आप उदाहरण के लिए मुफ्त ईबुक द्वारा मेवेन पढ़ते हैं, आप देखेंगे कि आप जो सुझाव दे रहे हैं उसे कोई मतलब नहीं है .. मैं आपको आपकी मदद करने की कोशिश नहीं कर रहा हूं .. क्या हम सभी वहां नहीं हैं – ant
आप क्या हासिल करने की कोशिश कर रहे हैं - एक स्व-अद्यतन आवेदन? –