2011-08-31 15 views
10

के बिना पुराने स्रोत को सेट करने के लिए एक नई जावैक चेतावनी है। मैं एंटर बूटक्लासपैथ को -सोर्स 1.5-लक्ष्य 1.5 के साथ कैसे सेट करूं?चींटी बूटक्लासपैथ सेट करें: जेडीके 1.7 में बूटक्लासपैथ

1.5 जेडीके के लिए यह हार्डकोडेड पथ कैसे नहीं हो सकता है? क्या मैं बूटक्लासपैथ में एक पर्यावरण परिवर्तक सेट कर सकता हूं जैसे कि JAVA_HOME चींटी से कैसे उपयोग किया जा सकता है?

आदर्श रूप से मैं कुछ ऐसा करना चाहता हूं जैसे पर्यावरण चर सेट करें या चींटी को तर्क दें।

+0

वास्तव में, आप केवल अपने 1.5 JRE, नहीं पूर्ण JDK के rt.jar की जरूरत , मुझे लगता है। –

उत्तर

14

यहां एक उदाहरण है कि आप जावा 5 बूट कक्षाओं को पर्यावरण चर से कैसे ला सकते हैं, फिर इसका उपयोग करें।

सबसे पहले, पर्यावरण चर सेट करें - JAVA5_BOOTCLASSES कहें। property task आपको पर्यावरण तक पहुंच प्रदान करता है, तो bootclasspathjavac task का तर्क संकलक को सेटिंग पास करता है।

<property environment="env" /> 
<property name="java5.boot.classpath" value="${env.JAVA5_BOOTCLASSES}" /> 

<javac source="1.5" target="1.5" 
     bootclasspath="${java5.boot.classpath}" 
     ... 
/> 

ध्यान दें कि यदि वातावरण चर सेट नहीं है, चींटी इसे अनदेखा और बिना आगे बढ़ना होगा - तो संकलक वापस डिफ़ॉल्ट बूट classpath तक कम हो जाएगा।

यदि उपयुक्त हो, तो एक और विकल्प switch off the warnings है, और बूटक्लासपैथ से परेशान नहीं है। जैसे

<javac srcdir= ... > 
    <compilerarg arg="-Xlint:-options" /> 
</javac> 

कुछ लेकिन वह कुछ सूक्ष्म कीड़े को आप को बेनकाब करने की संभावना है।

+0

आप javac कार्य में निष्पादन योग्य संपत्ति जोड़ना चाहेंगे ताकि JDK1.7 निष्पादन योग्य इसे और अधिक स्पष्ट करने के लिए निष्पादन योग्य हो सके। –

2

यह ध्यान देने योग्य है कि परिवर्तनीय JAVA5_BOOTCLASSES में सभी आवश्यक पुस्तकालयों को केवल rt.jar नहीं होना चाहिए। मेरे मामले में यह भी था jce.jar तो यह जब * nix वातावरण में इस सरल स्निपेट का उपयोग कर इस चर सेट करने के लिए अच्छा है:

export JAVA5_BOOTCLASSES="" 
for i in /usr/lib/jvm/java/jre/lib/*.jar; do 
    export JAVA5_BOOTCLASSES=$JAVA5_BOOTCLASSES:$i 
done 
संबंधित मुद्दे