无法解决此java.lang.UnsupportedClassVersionError

时间:2013-10-06 16:37:21

标签: java

我试图用mvn执行一个java程序,但是有一点我无法解决的问题。 Maven说:

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

所以我的java版本与程序中使用的东西不兼容。但我无法想象如何更新我的java,实际上我甚至不知道要更新什么......: - )

其他一些信息:

java version "1.6.0_27"
javac 1.7.0_25

有人可以给我一个暗示该怎么办?谢谢你的任何建议!

2 个答案:

答案 0 :(得分:4)

Unsupported major.minor version 51.0

这表示您正在使用1.7编译器编译您的类并以1.7 VM为目标。当你在1.6虚拟机上运行时,这就是说“嘿,我不知道这种格式是什么”,因为它是在1.6虚拟机之后发布的。

要修复,请将您的VM(当前正在运行1.6.0_27)升级到1.7,或者告诉编译器(运行1.7.0_25)到目标 1.6。

答案 1 :(得分: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上可运行。您可以使用源/目标标记值来满足您的需求。