HIVE离线编译

工作环境不能连外网,所以HIVE的编译碰到了一些问题,内容是去年年中写好的,今天整理电脑时发现它,就发上了来。

1.      使用svn将源码下载到本地:svn co http://svn.apache.org/repos/asf/hive/trunk

2.      运行ant编译

3.      将编译过含所有依赖包的trunk文件夹复制到离线机器

4.      修改build.xml,将clean-offline目标修改成如下所示

  <target name="clean-offline" if="offline">

       <!-- preserve the downloaded ivy.jar  -->

       <delete quiet="true"includeemptydirs="true">

       <fileset dir="${build.dir.hive}"excludes="ivy/**/* ivy/* hadoopcore/** hadoopcore/*"/>

       </delete>

         </target>

或者加入自定义的clean-hive目标如下:

  <target name="clean-hive">

       <deleteincludeemptydirs="true">

       <filesetdir="${build.dir.hive}" excludes="ivy/**/* ivy/* hadoopcore/**hadoopcore/*"/>

       </delete>

         </target>

本文使用第二种方式:

HIVE离线编译_第1张图片

5.      修改build-common.xml文件"ivy-retrieve"目标,去掉ivy内容,使其不执行retrieve过程:

 <target name="ivy-retrieve" depends="ivy-resolve"

   description="Retrieve Ivy-managed artifacts">

  </target>


6.      运行ant  –Doffline=true即可编译

7.      运行ant clean-hive即可清理编译结果方便下次重新编译

8.      编辑"trunk/build.properties"中version用于标识不同的编译版本



你可能感兴趣的:(工作,ant,SVN,delete)