0

我正在尝试用 mvn 执行一个 java 程序,但是有一个小问题我无法解决。马文 说:

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

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

其他一些信息:

java version "1.6.0_27"
javac 1.7.0_25

有人可以提示我该怎么做吗?感谢您的任何建议!

4

2 回答 2

4
Unsupported major.minor version 51.0

这表明您正在使用 1.7 编译器编译您的类并针对 1.7 VM。当你在 1.6 VM 上运行它时,它会说“嘿,我不知道这种格式是什么”,因为它是在 1.6 VM 之后出现的。

要解决此问题,请将您的 VM(您当前正在运行 1.6.0_27)升级到 1.7,或者告诉您的编译器(您正在运行 1.7.0_25)以1.6为目标。

于 2013-10-06T16:41:56.197 回答
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 上运行。您可以使用源/目标标签值来满足您的需求。

于 2013-10-06T16:58:25.560 回答