2012-07-06 11 views
17

मैं अपने .java (कई) को एक .jar में संकलित करना चाहता हूं जो कम से कम Java 1.6 और नए, अधिमानतः Java 1.5 और जावा के नए संस्करणों के साथ संगत हैं। (मेरे पास Java 1.7.0_5 है)जावा के पुराने संस्करणों के समर्थन के साथ मैं .java को संकलित कैसे करूं?

+0

स्रोत 1.5 -target 1.5 OverridingInternalExample.java' मुझे – Mualig

+0

http://www.veryant.com/support/phpkb/question.php?ID=57 पर javac एक नजर डालें और' स्रोत 1.5 ' –

उत्तर

13

हाँ, आप संकलन समय पर संकलक के संस्करण सेट कर सकते हैं। और अपने जावा कोड को जावा के पुराने संस्करणों में संकलित करें।

ओरेकल लेख से: http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/javac.html

पार संकलन उदाहरण

यहाँ हम है कि एक 1.4 वी एम पर चलेगा कोड को संकलित करने के javac का उपयोग करें।

% javac -target 1.4 -bootclasspath jdk1.4.2/lib/classes.zip \ 
      -extdirs "" OldCode.java 

आपको अपने कोड के संस्करण को इंगित करने के लिए निम्न पैरामीटर की भी आवश्यकता हो सकती है।

-source release 

-स्रोत कोड के संस्करण को स्वीकार करता है।

2

आप javac -target 1.5 <source files> का उपयोग कर सकते हैं।

यदि आप जार बनाने के लिए बिल्ड सिस्टम, ग्रहण या कुछ अन्य आईडीई का उपयोग कर रहे हैं, तो कृपया कौन सा निर्दिष्ट करें।

+1

के लिए काम किया ' –

+0

मेरे पास नेटबीन हैं, लेकिन मैं केवल टेक्स्ट फाइलों का उपयोग कर सकता हूं। मैं इसे सभी में .java की निर्देशिका में कैसे लागू करूं? – Primm

+1

नेटबींस के साथ अपनी परियोजना पर राइट क्लिक करें, गुणों पर जाएं और ड्रॉपडाउन से "स्रोत/बाइनरी प्रारूप" को खोलने वाले संवाद के नीचे की ओर बदलें – tofarr

0

आप जेडीके के नवीनतम संस्करण का उपयोग कर सकते हैं और स्रोत स्तर को 1.5 तक सेट कर सकते हैं - जब तक आप 1.5 के बाद पेश किए गए वर्ग/विधियों का उपयोग नहीं करते हैं, तो आपको JVM 1.5 और उसके बाद के सभी संस्करणों के लिए ठीक होना चाहिए :

1.5 स्रोत

0

JDK 9 के रूप में, javac जो बराबर है पार संकलन

javac -release N ... 

के लिए एक नया विकल्प

javac -source N -target N –bootclasspath rtN.jar 
0

को आप संकलक निर्माण जावा की तुलना में कम का लक्ष्य संस्करण निर्दिष्ट कर सकते हैं का समर्थन संस्करण (सभी उत्तरों ने मूल रूप से कहा कि) लेकिन आपको यह नहीं करना चाहिए: यह काफी गन्दा है क्योंकि यह केवल तभी काम करता है जब आप वास्तविक लक्ष्य संस्करण के लिए कक्षा पुस्तकालयों की आपूर्ति भी करते हैं। यदि आप ऐसा करते हैं तो संकलन के लिए इस पुराने जावा संस्करण का उपयोग करके आप बहुत बेहतर हैं। सेटअप करने के लिए बहुत साफ और कम सामान। जावा 9 के लिए विकल्प थोड़े अच्छे हैं लेकिन आपको अभी भी पुराने जेडीके की जरूरत है जो rt.jar के लिए आसपास है।

आप क्या कर सकते अपने आईडीई में है और dedvelopment चक्र -target/-bootclasspath चाल का उपयोग तेजी से संकलक और बेहतर चेतावनी प्राप्त करने के लिए है, लेकिन आईटी और रिहाई तो बनाता है लक्ष्य संस्करण के साथ किया जाना चाहिए।