eclipse hadoop 플러그인 컴파일

운영 체제: ubuntu
hadoop 버전: 1.0.1
eclipse 버전: eclipse Helios-SR2
Hadoop 1.0.1 마스크 플러그인을 통해 직접 생성된 eclipse 플러그인은 사용할 수 없습니다.jar 패키지가 적기 때문에 src/contrib/eclipse-plugin 디렉터리의build를 수동으로 수정해야 합니다.xml 파일 및 META-INF/MANIFEST.MF 파일.
  • 수정build.xml 파일
  • 이거 수정 안 한 거예요.
    <target name="jar" depends="compile" unless="skip.contrib">
        <mkdir dir="${build.dir}/lib"/>
        <copy file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>
        <copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar"  todir="${build.dir}/lib" verbose="true"/>
          jarfile="${build.dir}/hadoop-${name}-${version}.jar"
          manifest="${root}/META-INF/MANIFEST.MF">
          <fileset dir="${build.dir}" includes="classes/ lib/"/>
          <fileset dir="${root}" includes="resources/ plugin.xml"/>
        </jar>
      </target>

    이 기초 위에서 수정하고 수정한 후
    <target name="jar" depends="compile" unless="skip.contrib">
        <mkdir dir="${build.dir}/lib"/>
        <copy file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>
        <copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar"  todir="${build.dir}/lib" verbose="true"/>
          <copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-configuration-1.6.jar"  todir="${build.dir}/lib" verbose="true"/>
          <copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-lang-2.4.jar"  todir="${build.dir}/lib" verbose="true"/>
          <copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/jackson-core-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>
          <copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/jackson-mapper-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>
          <copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-httpclient-3.0.1.jar"  todir="${build.dir}/lib" verbose="true"/>
        <jar
          jarfile="${build.dir}/hadoop-${name}-${version}.jar"
          manifest="${root}/META-INF/MANIFEST.MF">
          <fileset dir="${build.dir}" includes="classes/ lib/"/>
          <fileset dir="${root}" includes="resources/ plugin.xml"/>
        </jar>
      </target>

    2. META-INF/MANIFEST 수정MF 파일
    이거 수정 안 한 거예요.
    Bundle-ClassPath: classes/,lib/hadoop-core.jar

    이 기초 위에서 수정하고 수정한 후
    Bundle-ClassPath: classes/,lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-configuration-1.6.jar,lib/commons-lang-2.4.jar,lib/jackson-core-asl-1.8.8.jar,lib/jackson-mapper-asl-1.8.8.jar,lib/commons-httpclient-3.0.1.jar

    build을 주의하십시오.xml에 정의된jar 패키지를 모두 더하면 처음에lib/commons-cli-1.2를 적게 썼습니다.jar, 사용은 Error:failure to login의 오류를 계속 보고하는 것으로 인해 오랫동안 고생했다(이라는 책에 의해 오도되었다)
    3. 컴파일 생성 플러그인jar 패키지
    명령줄이 hadoop 설치 디렉토리의 src/contrib/eclipse-plugin 디렉토리에 들어가서 다음 명령을 입력합니다.
    ant -Declipse.home=/home/jason/eclipse -Dversion=1.0.2-SNAPSHOT

    그중에 eclipse.홈은 eclipse의 경로를 지정하는 데 사용되며,version은 Hadoop의 버전 번호입니다.
    마지막으로hadoop 설치 디렉터리에 있는build/contrib/eclipse-plugin 디렉터리에서 생성된jar 패키지를 보고 eclipse의 플러그인 디렉터리로 복사하면 됩니다.

    좋은 웹페이지 즐겨찾기