2010-12-08 12 views
19

का आकार घटाना हम अपने एप्लिकेशन इंस्टॉलर के साथ जावा 6 जेआरई को बंडल करते हैं ताकि इसे किसी भी मशीन पर चलाया जा सके, लेकिन इससे एप्लिकेशन थोड़ा अधिक भारी हो जाता है। तो हम जेआरई के आकार को कम करने की योजना बना रहे हैं। अगर किसी ने इस तरह का कार्य किया है, तो क्या आप इसके साथ आगे बढ़ने के लिए मार्गदर्शन प्रदान कर सकते हैं?जेआरई

उत्तर

21

जेआरई निर्देशिका में README फ़ाइल को देखें। 'वैकल्पिक फाइलें और निर्देशिकाएं' अनुभाग में कई फाइलें सूचीबद्ध हैं जिन्हें ओरेकल/सन जेआरई से हटाया जा सकता है यदि आप इसे अपने एप्लिकेशन के साथ पैकेजिंग कर रहे हैं।

मैं इंस्टॉलेशन बनाते समय सिस्टम निर्देशिका स्थान से सिस्टम इंस्टॉल स्थान से जेआरई की प्रतिलिपि बनाने के लिए एक चींटी बिल्डफ़ाइल का उपयोग करता हूं। फ़ाइलों को आप एक अलग फाइल में बहिष्कृत करना चाहते हैं की सूची रखो और 'excludesfile' विशेषता का उपयोग इस सूची लोड करने के लिए:

<copy todir="${deployed_jre_dir}"> 
    <fileset dir="${system_jre_dir}" excludesfile="jre_excludes.properties" 
</copy> 

नमूना jre_excludes.properties फ़ाइल:

# per the README from the JRE, these files are for the browser plugin and are not needed otherwise 
#bin/javaw.exe 
bin/javaws.exe 
bin/javacpl.exe 
bin/jucheck.exe 
bin/jusched.exe 
bin/wsdetect.dll 
bin/NPJPI*.dll 
bin/NPJava* 
bin/NPOJI610.dll 
bin/RegUtils.dll 
bin/axbridge.dll 
bin/deploy.dll 
bin/jpicom.dll 
bin/javacpl.cpl 
bin/jpiexp.dll 
bin/jpinscp.dll 
bin/jpioji.dll 
bin/jpishare.dll 
lib/deploy.jar 
lib/plugin.jar 
lib/javaws.jar 
lib/javaws/messages* 
lib/javaws/miniSplash.jpg 
bin/new_plugin** 
bin/jureg* 
bin/ssv* 
bin/jqs* 
bin/jp2* 
lib/deploy/**/* 

# if you do not need any RMI stuff 
# wildcard to catch .exe files on Windows 
# note rmi.dll is not excluded, which is needed by jconsole; add rmi.dll if you do not need jsonsole 
bin/jbroker* 
bin/java-rmi* 
bin/rmid* 
bin/rmiregistry* 
bin/tnameserv* 
bin/orbd* 
bin/servertool* 

# do not include QuickTime 
# this will be in the jre dir for machines that have QT installed 
lib/ext/QTJava.zip 
+0

यह कहता है कि java.exe भी वैकल्पिक है। तो इसके बिना मेरा आवेदन कैसे शुरू कर सकते हैं। – asela38

+0

क्या आप अपनी jre_excludes.properties – asela38

+4

साझा कर सकते हैं मुझे लगता है कि java.exe वैकल्पिक है क्योंकि आप इसके बजाय javaw.exe का उपयोग कर सकते हैं। जावा को पसंदीदा किया जा सकता है क्योंकि यह कंसोल विंडो नहीं खोलता है। – AngerClown

0

आप एक मानक जेआरई के आकार को कम करने की कोशिश कर रहे हैं? ऐसा मत करो। आप वैकल्पिक जेआरई को बंडल करना चुन सकते हैं जो कि छोटा हो सकता है। एक सूची this Wikipedia page पर मिल सकती है। हमेशा की तरह, संगतता के मुद्दों से सावधान रहें और अपने आवेदन का पूरी तरह से परीक्षण करें।

एक अन्य, और सुरक्षित, तरीका केवल लक्ष्य मशीन पर जेआरई की स्थापना की आवश्यकता है।

0

कुछ अद्यतन जानकारी: जावा के बाद से 8 छोटे एम्बेडेड जेआरई पैकेज बनाने के लिए jrecreate नामक एक आधिकारिक ओरेकल उपकरण है।

0

मेरी जावा 8 अद्यतन 144 डेस्कटॉप अनुप्रयोग के लिए मैं बाहर निकालने के 2 बड़े जावा FX फ़ाइलें:

bin/jfxwebkit.dll // ~34 MB unpacked 
    lib/ext/jfxrt.jar // ~17 MB unpacked 

ज़िपित JRE 66 एमबी की बजाय 49 MB है।

मेरे लिए यह कम आकार और अतिरिक्त निर्माण जटिलता (और संभावित बग) के बीच एक स्वीकार्य व्यापार है। वैकल्पिक फ़ाइल सूची में

संबंधित मुद्दे