2013-02-18 17 views
11

मेरे पास जेनके & जेआरई 6 और 7 एक साथ स्थापित जेनकिन्स सर्वर है।मेवेन/जेनकींस java.lang.UnsupportedClassVersionError: असमर्थित major.minor संस्करण 51.0

सभी परियोजनाओं को 1.6 पर बनाया गया है जो कि 1.7 निर्भर है।

मैंने जावा कंपाइलर का उपयोग JAVA_HOME_7 पर्यावरण पाथ से करने के लिए मैवेन पोम फ़ाइल को कॉन्फ़िगर किया है।

<plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.0</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
        <showDeprecation>true</showDeprecation> 
        <showWarnings>true</showWarnings> 
        **<executable>${env.JAVA_HOME_7}/bin/javac</executable>** 
        <fork>true</fork> 
        <verbose>false</verbose> 
       </configuration> 
      </plugin> 

mvn के दौरान स्थापित मैं निम्न त्रुटि हो रही है:

java.lang.RuntimeException: There was an error in the forked process 
java.lang.UnsupportedClassVersionError: : Unsupported major.minor version 51.0 

जो मुझे लगता है कि अर्थ है कि सर्वर JRE 1.6 का उपयोग कर रहा है।

पुराने 1.6 परियोजनाओं और नए 1.7 एक के साथ संगतता रखने के लिए जेआरई 1.6 को 1.7 के साथ कैसे रखा जाए?

कई धन्यवाद, एटानास

+0

शायद आप निर्माण के हिस्से के रूप में कुछ इकाई या एकीकरण परीक्षण चला रहे हैं, उदाहरण के लिए मेवेन surefire या failsafe plugins के साथ? ... और ये जावा 7 का भी उपयोग कर रहे हैं? (Coz ऐसा लगता है कि जेनकिंस जावा 6 जेवीएम का उपयोग करके कुछ चलाने के लिए एक प्रक्रिया को मजबूर कर रहा है)। – sbk

+0

हां, आप सही हैं, मैं जैनिट सूट को निश्चित प्लगइन के साथ चला रहा हूं और कोड जेडीके 7 निर्भर है क्योंकि मल्टी-कैच स्टेटमेंट -सोर्स 1.6 –

+0

में समर्थित नहीं है – sbk

उत्तर

12

आपको जावा 7 के साथ निश्चित परीक्षण चलाने की आवश्यकता होगी। डिफ़ॉल्ट रूप से surefire उसी जेवीएम का उपयोग करेगा क्योंकि आपके मामले में चल रहा मैवेन - जावा 6।

<plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.13</version> 
     <configuration> 
     ... 
     <jvm>${env.JAVA_HOME_7}/bin/java</jvm> 
     </configuration> 
    </plugin> 
    </plugins> 
+0

धन्यवाद, जिसने समस्या हल की! –

+0

आह! लक्ष्य पर बैंग! –

4

मुझे याद है मैं भी इस समस्या के लिए संघर्ष किया। जब कई JRE प्रणाली के कई स्थान पर स्थापित किया गया है तो कई java.exe भी स्थापित किया गया है: समस्या

कारण को हल करने के लिए कदम नीचे का पालन करें।

समाधान: अपने वातावरण पथ चर संशोधित करें और java.exe का क्रम बदलने के। नीचे

पाथ = सी: \ प्रोग्राम फ़ाइलें \ जावा \ jdk1.6.0 \; के नीचे java.exe का स्थान रखें। अन्य; अन्य; अन्य

आपके उपयोग और स्थापना स्थान के अनुसार स्थान के ऊपर बदलें।

+1

नीचे उत्तर पोस्ट करना धन्यवाद, मेरी समस्या हल हो गई है आपका और एसबीके मदद! –

+0

ग्रेट, शुभकामनाएँ ...... –

-1

अपने लक्ष्य/lib निर्देशिका पर एक नज़र डालें, आपके पास एक ही जार के दो संस्करण हो सकते हैं। मेरे लिए यह प्रो

0

मुझे इस समस्या का सामना एक से अधिक बार हुआ है, ऐसा इसलिए है क्योंकि आपके सिस्टम पर jdk (jre) के एक से अधिक संस्करण हैं, इसलिए बस JAVA_HOME को उचित जेडीके पर सेट करें जो आप संकलित करते हैं परियोजना के साथ और चल रहा होगा ठीक है।