我试图用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
有人可以给我一个暗示该怎么办?谢谢你的任何建议!
答案 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上可运行。您可以使用源/目标标记值来满足您的需求。