2013-10-06 25 views
0

我試圖用mvn執行一個java程序,但有一個小問題,我無法解決。 Maven的說:無法解決此java.lang.UnsupportedClassVersionError

java.lang.UnsupportedClassVersionError: main/CsvCrawler : Unsupported major.minor version 51.0 

所以我的Java版本是不要在程序中使用的東西兼容。但我不明白如何更新我的Java,其實我甚至不知道更新什麼... :-)

其他一些信息:

java version "1.6.0_27" 
javac 1.7.0_25 

能有人給我一個暗示什麼去做?感謝您的任何建議!

+1

我認爲它應該出現在建議的問題清單中..請嘗試下次嘗試閱讀它。 – icedwater

+0

@icedwater我做到了,但並不瞭解其他帖子 – Crayl

+1

我明白了,我很高興你在這裏得到了你的答案。 – icedwater

回答

4
Unsupported major.minor version 51.0 

這表示您正在使用1.7編譯器編譯您的類,並將其定位到1.7 VM。當你在1.6虛擬機上運行它時,這是它說「嘿,我不知道這個格式是什麼」的方式,因爲它在1.6 VM之後出現了。

要解決,無論是升級你的VM(您當前正在運行1.6.0_27)到1.7,或者告訴你的編譯器(你正在運行1.7.0_25)至目標 1.6。

+0

非常感謝你對這個可理解的解釋:-) – Crayl

+1

@Crayl我很高興它幫助! – Todd

1

一個選擇是讓Maven使用特定的編譯器。把下面的到你的pom.xml文件:

<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 

這將使在1.6 JVM代碼可運行。您可以使用源/目標代碼值來滿足您的需求。