के लिए संकलन करने के लिए जेडीके 7 का उपयोग करें मैं इसे थोड़ी देर के लिए काम करने की कोशिश कर रहा हूं लेकिन अभी तक कोई भाग्य नहीं है।मेवेन - जेवीएम 5
मैं JDK7 को JAVA_HOME
इशारा साथ चलाने के लिए चाहते हैं, लेकिन मैं एक परियोजना JVM 5. के लिए मैं documentation के माध्यम से पढ़ा है संकलित करने के लिए चाहते हैं, मैं इतने पर similar posts पाया है, लेकिन उनमें से कोई मेरी सेटअप में काम करने के लिए लग रहे हैं।
मैं पहली बार सिर्फ target
और source
स्थापित करने के साथ करने की कोशिश की, लेकिन मैं एक त्रुटि मिली:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
[ClassName]
is not abstract and does not override abstract methodgetParentLogger()
inCommonDataSource
जहां तक मुझे लगता है कि वर्ग JDK 7 और अतिरिक्त विधि कि त्रुटि फेंक रहा है में अद्यतन किया गया था समझा था अभी जोड़ा गया। मुझे जेडीके 5 के रनटाइम का उपयोग करने की आवश्यकता है जिसमें पुराना कार्यान्वयन है और सब कुछ ठीक काम करना चाहिए। मैं JAVA5_HOME अपने सिस्टम, मैं यह लॉग में सही वर्गों लोड हो रहा है देख सकते हैं पर सही ढंग से निर्धारित किया है
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<verbose>true</verbose>
<source>1.5</source>
<target>1.5</target>
<compilerArguments>
<bootclasspath>${env.JAVA5_HOME}/jre/lib/rt.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
, लेकिन मैं एक और त्रुटि मारा:: तो मैं यह करने के
[loading ZipFileIndexFileObject[c:\Program Files\Java\jdk1.5.0_22\jre\lib\rt.jar(*.class)]]
...
...
[ClassName]
error: packagejavax.crypto
does not exist
कौन सा पर्याप्त उचित है , क्योंकि मैंने bootclasspath
में jce.jar
(क्रिप्टोग्राफी कक्षाएं) शामिल नहीं की थीं। एक चीज है जो मुझे पहेली करता है, यद्यपि। भले ही bootclasspath
में केवल जावा 5 रनटाइम है, मेरे पास क्लासपाथ में जेआरई 7 से बहुत सारी लाइब्रेरी हैं। वे कहीं भी निर्दिष्ट नहीं हैं।
[search path for class files: c:\Program Files (x86)\Java\jdk1.5.0_22\jre\lib\rt.jar,c:\Program Files\Java\jdk1.7.0_02\jre\lib\ext\dnsns.jar,c:\Program Files\Java\jdk1.7.0_02\jre\lib\ext\localedata.jar,c:\Program Files\Java\jdk1.7.0_02\jre\lib\ext\sunec.jar,c:\Program Files\Java\jdk1.7.0_02\jre\lib\ext\sunjce_provider.jar,c:\Program Files\Java\jdk1.7.0_02\jre\lib\ext\sunmscapi.jar,c:\Program Files\Java\jdk1.7.0_02\jre\lib\ext\zipfs.jar, ...]
अगर मैं कोशिश करते हैं और (JRE5 से) jce.jar जोड़ने के लिए, मैं वापस पहली त्रुटि के लिए मिलता है:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<verbose>true</verbose>
<source>1.5</source>
<target>1.5</target>
<compilerArguments>
<bootclasspath>${env.JAVA5_HOME}/jre/lib/rt.jar${path.separator}${env.JAVA5_HOME}/jre/lib/jce.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
The type [ClassName] must implement the inherited abstract method CommonDataSource.getParentLogger()
मैं यह भी देखना rt.jar
का कोई निशान लोड किए जा रहे हैं, लेकिन मैं java.lang
त्रुटि नहीं मिली है, इसलिए क्लासपाथ पर कुछ कक्षाएं लोड की जा रही हैं।
मैं इसे बैच स्क्रिप्ट बनाकर अस्थायी रूप से ठीक कर दूंगा जो इमारत से पहले JAVA_HOME
को ओवरराइट करता है और बाद में इसे वापस सेट करता है, लेकिन मैं वास्तव में यह सही तरीके से करना चाहता हूं। यह इतनी चरम उपयोग-मामले के रूप में प्रतीत नहीं होता है। :)
मैं यहाँ क्या गलत कर रहा हूं?
मेरे उदाहरण देखें, मैं इसका उपयोग कर रहा हूं लेकिन अगर मैं एकाधिक जार निर्दिष्ट करता हूं तो यह काम नहीं करता है। क्या मैं कुछ भूल रहा हूँ? –