
# 未安装客户端时编译并运行程序
#### 操作场景
HBase应用程序支持在未安装HBase客户端的Linux环境中运行。在程序代码完成开发后，您可以上传Jar包至Linux环境中运行应用。
#### 前提条件
Linux环境已安装JDK，版本号需要和Eclipse导出Jar包使用的JDK版本一致。
#### 操作步骤
1. 导出Jar包。
   
   1. 右击样例工程，选择导出。
      图1导出Jar包   
      ![](https://support.huaweicloud.com/devg-cloudtable/zh-cn_image_0000002342559120.jpg "点击放大") 
   
   2. 选择JAR file，单击"Next"。
      图2选择JAR file   
      ![](https://support.huaweicloud.com/devg-cloudtable/zh-cn_image_0000002376557053.png "点击放大") 
   
   3. 勾选"src"目录，导出Jar包到指定位置。单击两次"Next"。
      图3选择导出路径   
      ![](https://support.huaweicloud.com/devg-cloudtable/zh-cn_image_0000002376557057.jpg "点击放大") 
   
   4. 单击"Finish"，完成导出Jar包。
   
   
   
   
2. 准备依赖的Jar包和配置文件。 
   1. 在Linux环境新建目录，例如"/opt/test"，并创建子目录"lib"和"conf"。将样例工程中"lib"的Jar包，以及[1]导出的Jar包，上传到Linux的"lib"目录。将样例工程中"conf"的配置文件上传到Linux中"conf"目录。
   
   2. 在"/opt/test"根目录新建脚本"run.sh"，修改内容如下并保存：
      ```
      #!/bin/sh
      BASEDIR=`pwd`
      SECURE=""
      if [ $# -eq 1 ]; then
        SECURE="-Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty -Dzookeeper.client.secure=true"
      fi
      cd ${BASEDIR}
      for file in ${BASEDIR}/lib/*.jar
      do
      i_cp=$i_cp:$file
      echo "$file"
      done
      for file in ${BASEDIR}/conf/*
      do
      i_cp=$i_cp:$file
      done
      java -cp .${i_cp} ${SECURE} com.huawei.cloudtable.hbase.examples.TestMain
      ```
      
   
   
   
   
3. 切换到"/opt/test"，执行以下命令，运行Jar包。 
   - **未开启加密通道的HBase集群**
     *sh run.sh*
     
   
   - **开启加密通道的HBase集群**
     *sh run.sh*secure
     ![](https://support.huaweicloud.com/devg-cloudtable/public_sys-resources/note_3.0-zh-cn.png)
     如果使用其他方式运行应用访问开启了加密通道的HBase集群，需要自行添加JVM参数："-Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty -Dzookeeper.client.secure=true
     
   
   
   
   
 
