源码编译问题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>