编译hadoop2.2.0源码时,
mvn install -DskipTests
报错:
[ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /home/test/work/env/hadoop/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/AuthenticatorTestCase.java:[86,13] 无法訪问 org.mortbay.component.AbstractLifeCycle 未找到 org.mortbay.component.AbstractLifeCycle 的类文件 server = new Server(0); [ERROR] /home/test/work/env/hadoop/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/AuthenticatorTestCase.java:[96,29] 无法訪问 org.mortbay.component.LifeCycle 未找到 org.mortbay.component.LifeCycle 的类文件 server.getConnectors()[0].setHost(host); [ERROR] /home/test/work/env/hadoop/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/AuthenticatorTestCase.java:[98,10] 找不到符号 符号: 方法 start() 位置: 类 org.mortbay.jetty.Server [ERROR] /home/test/work/env/hadoop/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/AuthenticatorTestCase.java:[104,12] 找不到符号 符号: 方法 stop() 位置: 类 org.mortbay.jetty.Server [INFO] 4 errors [INFO] ------------------------------------------------------------- [INFO] ------------------------------------------------------------------------
这是hadoop2.2.0源码里的一个小bug:https://issues.apache.org/jira/browse/HADOOP-10110
不想看英文的,就直接改动hadoop-common-project/hadoop-auth/pom.xml,加入一个dependency:
<dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-util</artifactId> <scope>test</scope> </dependency>
事实上就是少了一个包。