我已经启动了一个maven项目,试图在java 1.5.0_14中实现1.5.0_14算法,我选择了0.20.2的API版本。因此,在我使用的pom.xml中,下面的依赖项如下:
< dependency>
< groupId>org.apache.hadoop< /groupId>
< artifactId>hadoop-core< /artifactId>
< version>0.20.2< /version>< /dependency>
但是,当我对org.apache.hadoop类使用导入时,会得到以下错误:
${HOME_DIR}\repository\org\apache\hadoop\hadoop-core\0.20.2\hadoop-core-0.20.2.jar(org/apache/hadoop/fs/Path.class)坏类文件:类文件有错误版本50.0,应该是49.0。
有人知道我该怎么解决这个问题吗。
谢谢。
发布于 2010-06-07 15:06:07
默认情况下,Maven编译为JDK1.4兼容性。你得改变这个。
您需要将其添加到pom.xml中:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>编辑:谢谢肖恩指出Hadoop需要JDK 6
发布于 2010-09-14 19:14:46
我遇到了同样的问题。原来sbt本身运行在Java 5上,这是我的Mac上的默认设置,原因很愚蠢,但也是合理的。一旦我改变了我的sbt脚本,显式地从Java6开始,一切都很好。
发布于 2010-10-16 22:27:37
不管您的maven-编译器-plugin的源代码和目标配置(这只控制您自己的源代码是如何编译的),您必须使用1.6JVM来运行Hadoop的代码,因为它是编译后运行的" 1.6“JVM。
所以,只需安装一个1.6java运行时,并使用它来运行您的程序。
https://stackoverflow.com/questions/2990595
复制相似问题