【Apache Hadoop系列】hadoop源码编译问题记录

来源:互联网 发布:php aes加解密 编辑:程序博客网 时间:2024/04/29 06:39

源码编译问题1:

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project hadoop-common: Compilation failure        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)        at java.lang.reflect.Method.invoke(Method.java:601)        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure        at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:729)        at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128)        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)        ... 19 more

正在解决中.....

pom.xml

<?xml version="1.0" encoding="UTF-8"?><!--  Licensed under the Apache License, Version 2.0 (the "License");  you may not use this file except in compliance with the License.  You may obtain a copy of the License at    http://www.apache.org/licenses/LICENSE-2.0  Unless required by applicable law or agreed to in writing, software  distributed under the License is distributed on an "AS IS" BASIS,  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and  limitations under the License. See accompanying LICENSE file.--><project xmlns="http://maven.apache.org/POM/4.0.0"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0                      http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <parent>    <groupId>org.apache.hadoop</groupId>    <artifactId>hadoop-project-dist</artifactId>    <version>2.0.3-alpha</version>    <relativePath>../../hadoop-project-dist</relativePath>  </parent>  <groupId>org.apache.hadoop</groupId>  <artifactId>hadoop-common</artifactId>  <version>2.0.3-alpha</version>  <description>Apache Hadoop Common</description>  <name>Apache Hadoop Common</name>  <packaging>jar</packaging>  <properties>    <hadoop.component>common</hadoop.component>    <is.hadoop.component>true</is.hadoop.component>  </properties>  <dependencies>    <dependency>      <groupId>org.apache.hadoop</groupId>      <artifactId>hadoop-annotations</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>com.google.guava</groupId>      <artifactId>guava</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>commons-cli</groupId>      <artifactId>commons-cli</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>org.apache.commons</groupId>      <artifactId>commons-math</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>xmlenc</groupId>      <artifactId>xmlenc</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>commons-httpclient</groupId>      <artifactId>commons-httpclient</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>commons-codec</groupId>      <artifactId>commons-codec</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>commons-io</groupId>      <artifactId>commons-io</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>commons-net</groupId>      <artifactId>commons-net</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>javax.servlet</groupId>      <artifactId>servlet-api</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>org.mortbay.jetty</groupId>      <artifactId>jetty</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>org.mortbay.jetty</groupId>      <artifactId>jetty-util</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>com.sun.jersey</groupId>      <artifactId>jersey-core</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <!-- Used, even though 'mvn dependency:analyze' doesn't find it -->      <groupId>com.sun.jersey</groupId>      <artifactId>jersey-json</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>com.sun.jersey</groupId>      <artifactId>jersey-server</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>tomcat</groupId>      <artifactId>jasper-compiler</artifactId>      <scope>runtime</scope>    </dependency>    <dependency>      <groupId>tomcat</groupId>      <artifactId>jasper-runtime</artifactId>      <scope>runtime</scope>    </dependency>    <dependency>      <groupId>javax.servlet.jsp</groupId>      <artifactId>jsp-api</artifactId>      <scope>runtime</scope>    </dependency>    <dependency>      <groupId>commons-el</groupId>      <artifactId>commons-el</artifactId>      <scope>runtime</scope>    </dependency>    <dependency>      <groupId>commons-logging</groupId>      <artifactId>commons-logging</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>log4j</groupId>      <artifactId>log4j</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>net.java.dev.jets3t</groupId>      <artifactId>jets3t</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <scope>test</scope>    </dependency>    <dependency>      <groupId>commons-lang</groupId>      <artifactId>commons-lang</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>commons-configuration</groupId>      <artifactId>commons-configuration</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>org.slf4j</groupId>      <artifactId>slf4j-api</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>org.slf4j</groupId>      <artifactId>slf4j-log4j12</artifactId>      <scope>runtime</scope>    </dependency>    <dependency>      <groupId>org.codehaus.jackson</groupId>      <artifactId>jackson-core-asl</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>org.codehaus.jackson</groupId>      <artifactId>jackson-mapper-asl</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>org.mockito</groupId>      <artifactId>mockito-all</artifactId>      <scope>test</scope>    </dependency>    <dependency>      <groupId>org.apache.avro</groupId>      <artifactId>avro</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>net.sf.kosmosfs</groupId>      <artifactId>kfs</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>org.apache.ant</groupId>      <artifactId>ant</artifactId>      <scope>provided</scope>    </dependency>    <dependency>      <groupId>com.google.protobuf</groupId>      <artifactId>protobuf-java</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>org.apache.hadoop</groupId>      <artifactId>hadoop-auth</artifactId>      <scope>compile</scope>    </dependency>    <dependency>      <groupId>com.jcraft</groupId>      <artifactId>jsch</artifactId>    </dependency>    <dependency>      <groupId>org.apache.zookeeper</groupId>      <artifactId>zookeeper</artifactId>      <version>3.4.2</version>      <exclusions>        <exclusion>          <!-- otherwise seems to drag in junit 3.8.1 via jline -->          <groupId>junit</groupId>          <artifactId>junit</artifactId>        </exclusion>        <exclusion>          <groupId>com.sun.jdmk</groupId>          <artifactId>jmxtools</artifactId>        </exclusion>        <exclusion>          <groupId>com.sun.jmx</groupId>          <artifactId>jmxri</artifactId>        </exclusion>      </exclusions>    </dependency>    <dependency>      <groupId>org.apache.zookeeper</groupId>      <artifactId>zookeeper</artifactId>      <version>3.4.2</version>      <type>test-jar</type>      <scope>test</scope>    </dependency>  </dependencies>  <build>    <plugins>      <plugin>        <groupId>org.apache.avro</groupId>        <artifactId>avro-maven-plugin</artifactId>        <executions>          <execution>            <id>generate-avro-test-sources</id>            <phase>generate-test-sources</phase>            <goals>              <goal>schema</goal>            </goals>          </execution>        </executions>        <configuration>          <testOutputDirectory>${project.build.directory}/generated-test-sources/java</testOutputDirectory>        </configuration>      </plugin>      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-antrun-plugin</artifactId>        <executions>          <execution>            <id>create-protobuf-generated-sources-directory</id>            <phase>initialize</phase>            <goals>              <goal>run</goal>            </goals>            <configuration>              <target>                <mkdir dir="target/generated-sources/java" />                <mkdir dir="target/generated-test-sources/java" />              </target>            </configuration>          </execution>          <execution>            <id>save-version</id>            <phase>generate-sources</phase>            <goals>              <goal>run</goal>            </goals>            <configuration>              <target>                <mkdir dir="${project.build.directory}/generated-sources/java"/>                <exec executable="sh">                  <arg                      line="${basedir}/dev-support/saveVersion.sh ${project.version} ${project.build.directory}/generated-sources/java"/>                </exec>              </target>            </configuration>          </execution>          <execution>            <id>generate-test-sources</id>            <phase>generate-test-sources</phase>            <goals>              <goal>run</goal>            </goals>            <configuration>              <target>                <mkdir dir="${project.build.directory}/generated-test-sources/java"/>                <taskdef name="recordcc" classname="org.apache.hadoop.record.compiler.ant.RccTask">                  <classpath refid="maven.compile.classpath"/>                </taskdef>                <recordcc destdir="${project.build.directory}/generated-test-sources/java">                  <fileset dir="${basedir}/src/test/ddl" includes="**/*.jr"/>                </recordcc>              </target>            </configuration>          </execution>          <execution>            <id>create-log-dir</id>            <phase>process-test-resources</phase>            <goals>              <goal>run</goal>            </goals>            <configuration>              <target>                <!--                TODO: there are tests (TestLocalFileSystem#testCopy) that fail if data                TODO: from a previous run is present                -->                <delete dir="${test.build.data}"/>                <mkdir dir="${test.build.data}"/>                <mkdir dir="${hadoop.log.dir}"/>                <copy toDir="${project.build.directory}/test-classes">                  <fileset dir="${basedir}/src/main/conf"/>                </copy>              </target>            </configuration>          </execution>          <execution>            <phase>pre-site</phase>            <goals>              <goal>run</goal>            </goals>            <configuration>              <tasks>                <copy file="src/main/resources/core-default.xml" todir="src/site/resources"/>                <copy file="src/main/xsl/configuration.xsl" todir="src/site/resources"/>              </tasks>            </configuration>          </execution>        </executions>      </plugin>      <plugin>        <groupId>org.codehaus.mojo</groupId>        <artifactId>exec-maven-plugin</artifactId>        <executions>          <execution>            <id>compile-proto</id>            <phase>generate-sources</phase>            <goals>              <goal>exec</goal>            </goals>            <configuration>              <executable>protoc</executable>              <arguments>                <argument>-Isrc/main/proto/</argument>                <argument>--java_out=target/generated-sources/java</argument>                <argument>src/main/proto/HAServiceProtocol.proto</argument>                <argument>src/main/proto/IpcConnectionContext.proto</argument>                <argument>src/main/proto/ProtocolInfo.proto</argument>                <argument>src/main/proto/RpcPayloadHeader.proto</argument>                <argument>src/main/proto/ZKFCProtocol.proto</argument>                <argument>src/main/proto/hadoop_rpc.proto</argument>                <argument>src/main/proto/Security.proto</argument>              </arguments>            </configuration>          </execution>          <execution>            <id>compile-test-proto</id>            <phase>generate-test-sources</phase>            <goals>              <goal>exec</goal>            </goals>            <configuration>              <executable>protoc</executable>              <arguments>                <argument>-Isrc/test/proto/</argument>                <argument>--java_out=target/generated-test-sources/java</argument>                <argument>src/test/proto/test.proto</argument>                <argument>src/test/proto/test_rpc_service.proto</argument>              </arguments>            </configuration>          </execution>        </executions>      </plugin>      <plugin>        <groupId>org.codehaus.mojo</groupId>        <artifactId>build-helper-maven-plugin</artifactId>        <executions>          <execution>            <id>add-source</id>            <phase>generate-sources</phase>            <goals>              <goal>add-source</goal>            </goals>            <configuration>              <sources>                <source>${project.build.directory}/generated-sources/java</source>              </sources>            </configuration>          </execution>          <execution>            <id>add-test-source</id>            <phase>generate-sources</phase>            <goals>              <goal>add-test-source</goal>            </goals>            <configuration>              <sources>                <source>${project.build.directory}/generated-test-sources/java</source>              </sources>            </configuration>          </execution>        </executions>      </plugin>      <plugin>        <groupId>org.apache.rat</groupId>        <artifactId>apache-rat-plugin</artifactId>        <configuration>          <excludes>            <exclude>CHANGES.txt</exclude>            <exclude>.idea/**</exclude>            <exclude>src/main/conf/*</exclude>            <exclude>src/main/docs/**</exclude>            <exclude>dev-support/jdiff/**</exclude>            <exclude>src/main/native/*</exclude>            <exclude>src/main/native/config/*</exclude>            <exclude>src/main/native/m4/*</exclude>            <exclude>src/test/empty-file</exclude>            <exclude>src/test/all-tests</exclude>            <exclude>src/test/resources/kdc/ldif/users.ldif</exclude>            <exclude>src/main/native/src/org/apache/hadoop/io/compress/lz4/lz4.c</exclude>          </excludes>        </configuration>      </plugin>      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-surefire-plugin</artifactId>        <configuration>          <properties>            <property>              <name>listener</name>              <value>org.apache.hadoop.test.TimedOutTestsListener</value>            </property>          </properties>        </configuration>      </plugin>    </plugins>  </build>  <profiles>    <profile>      <id>native</id>      <activation>        <activeByDefault>false</activeByDefault>      </activation>      <properties>        <snappy.prefix></snappy.prefix>        <snappy.lib></snappy.lib>        <snappy.include></snappy.include>        <require.snappy>false</require.snappy>      </properties>      <build>        <plugins>          <plugin>            <groupId>org.codehaus.mojo</groupId>            <artifactId>native-maven-plugin</artifactId>            <executions>              <execution>                <phase>compile</phase>                <goals>                  <goal>javah</goal>                </goals>                <configuration>                  <javahPath>${env.JAVA_HOME}/bin/javah</javahPath>                  <javahClassNames>                    <javahClassName>org.apache.hadoop.io.compress.zlib.ZlibCompressor</javahClassName>                    <javahClassName>org.apache.hadoop.io.compress.zlib.ZlibDecompressor</javahClassName>                    <javahClassName>org.apache.hadoop.security.JniBasedUnixGroupsMapping</javahClassName>                    <javahClassName>org.apache.hadoop.io.nativeio.NativeIO</javahClassName>                    <javahClassName>org.apache.hadoop.security.JniBasedUnixGroupsNetgroupMapping</javahClassName>                    <javahClassName>org.apache.hadoop.io.compress.snappy.SnappyCompressor</javahClassName>                    <javahClassName>org.apache.hadoop.io.compress.snappy.SnappyDecompressor</javahClassName>                    <javahClassName>org.apache.hadoop.io.compress.lz4.Lz4Compressor</javahClassName>                    <javahClassName>org.apache.hadoop.io.compress.lz4.Lz4Decompressor</javahClassName>                    <javahClassName>org.apache.hadoop.util.NativeCrc32</javahClassName>                  </javahClassNames>                  <javahOutputDirectory>${project.build.directory}/native/javah</javahOutputDirectory>                </configuration>              </execution>            </executions>          </plugin>          <plugin>            <groupId>org.apache.maven.plugins</groupId>            <artifactId>maven-antrun-plugin</artifactId>            <executions>              <execution>                <id>make</id>                <phase>compile</phase>                <goals><goal>run</goal></goals>                <configuration>                  <target>                    <exec executable="cmake" dir="${project.build.directory}/native" failonerror="true">                      <arg line="${basedir}/src/ -DGENERATED_JAVAH=${project.build.directory}/native/javah -DJVM_ARCH_DATA_MODEL=${sun.arch.data.model} -DREQUIRE_SNAPPY=${require.snappy} -DCUSTOM_SNAPPY_PREFIX=${snappy.prefix} -DCUSTOM_SNAPPY_LIB=${snappy.lib} -DCUSTOM_SNAPPY_INCLUDE=${snappy.include}"/>                    </exec>                    <exec executable="make" dir="${project.build.directory}/native" failonerror="true">                      <arg line="VERBOSE=1"/>                    </exec>                    <!-- The second make is a workaround for HADOOP-9215.  It can                         be removed when version 2.6 of cmake is no longer supported . -->                    <exec executable="make" dir="${project.build.directory}/native" failonerror="true"></exec>                  </target>                </configuration>              </execution>              <execution>                <id>native_tests</id>                <phase>test</phase>                <goals><goal>run</goal></goals>                <configuration>                  <target>                    <exec executable="sh" failonerror="true" dir="${project.build.directory}/native">                      <arg value="-c"/>                      <arg value="[ x$SKIPTESTS = xtrue ] || ${project.build.directory}/native/test_bulk_crc32"/>                      <env key="SKIPTESTS" value="${skipTests}"/>                    </exec>                  </target>                </configuration>              </execution>            </executions>          </plugin>        </plugins>      </build>    </profile>  </profiles></project>



原创粉丝点击