title: Could not find an appropriate constructor for com.google.cloud.bigtable.hbase1_x.BigtableConnection
body: <p>I tried to create a simple class to create a table and add some columns with HBase and Google app engine. 
  I have already created a project and an instance in Google Cloud platform.
  I cloned this repository : <a href="https://github.com/GoogleCloudPlatform/cloud-bigtable-examples/blob/master/java/hello-world/src/main/java/com/example/cloud/bigtable/helloworld/HelloWorld.java" rel="nofollow noreferrer">https://github.com/GoogleCloudPlatform/cloud-bigtable-examples/blob/master/java/hello-world/src/main/java/com/example/cloud/bigtable/helloworld/HelloWorld.java</a>
  It works like a charm to create a table in my instance. 
  But when I'm trying to create a new maven project with the same config, it doesn't work, I can't create anything.
  I got this issue : </p>
  
  <pre><code>InvocationTargetException: Could not find an appropriate constructor for com.google.cloud.bigtable.hbase1_x.BigtableConnection: com.google.common.util.concurrent.MoreExecutors.platformThreadFactory()Ljava/util/concurrent/ThreadFactory;
  </code></pre>
  
  <p>here is my AudioBridgeData.java file : </p>
  
  <pre><code>package com.xxx.xxx;
  
  
  import com.google.cloud.bigtable.hbase.BigtableConfiguration;
  import org.apache.hadoop.hbase.HColumnDescriptor;
  import org.apache.hadoop.hbase.HTableDescriptor;
  import org.apache.hadoop.hbase.TableName;
  import org.apache.hadoop.hbase.client.Admin;
  import org.apache.hadoop.hbase.client.Connection;
  import org.apache.hadoop.hbase.client.Get;
  import org.apache.hadoop.hbase.client.Put;
  import org.apache.hadoop.hbase.client.Result;
  import org.apache.hadoop.hbase.client.ResultScanner;
  import org.apache.hadoop.hbase.client.Scan;
  import org.apache.hadoop.hbase.client.Table;
  import org.apache.hadoop.hbase.util.Bytes;
  
  import java.io.IOException;
  
  /**
   * A minimal application that connects to Cloud Bigtable using the native HBase API
   * and performs some basic operations.
   */
  public class AudioBridgeData {
  
    private static final byte[] TABLE_NAME = Bytes.toBytes("audio-bridge");
    private static final byte[] COLUMN_FAMILY_NAME = Bytes.toBytes("phone-number");
    private static final byte[] COLUMN_NAME = Bytes.toBytes("number");
    private static final String[] NUMBERS =
        { "+33697584976", "+19553560976", "+4879665676" };
  
  
    /**
     * Connects to Cloud Bigtable, runs some basic operations and prints the results.
     */
    private static void doAudioBridge(String projectId, String instanceId) {
  
      try (Connection connection = BigtableConfiguration.connect(projectId, instanceId)) {
        Admin admin = connection.getAdmin();
        HTableDescriptor descriptor = new HTableDescriptor(TableName.valueOf(TABLE_NAME));
        descriptor.addFamily(new HColumnDescriptor(COLUMN_FAMILY_NAME));
  
        print("Create table " + descriptor.getNameAsString());
        admin.createTable(descriptor);
        Table table = connection.getTable(TableName.valueOf(TABLE_NAME));
        print("Write some numbers to the table");
        for (int i = 0; i &lt; NUMBERS.length; i++) {
          Put put = new Put(Bytes.toBytes(i));
          put.addColumn(COLUMN_FAMILY_NAME, COLUMN_NAME, Bytes.toBytes(NUMBERS[i]));
          table.put(put);
        }
        int rowKey = 0;
        Result getResult = table.get(new Get(Bytes.toBytes(rowKey)));
        String number = Bytes.toString(getResult.getValue(COLUMN_FAMILY_NAME, COLUMN_NAME));
        System.out.println("Get a single number by row key");
        System.out.printf("\t%s = %s\n", rowKey, number);
        Scan scan = new Scan();
  
        print("Scan for all numbers:");
        ResultScanner scanner = table.getScanner(scan);
        for (Result row : scanner) {
          byte[] valueBytes = row.getValue(COLUMN_FAMILY_NAME, COLUMN_NAME);
          System.out.println('\t' + Bytes.toString(valueBytes));
        }
  
      } catch (IOException e) {
        System.err.println("Exception while running HelloWorld: " + e.getMessage());
        e.printStackTrace();
        System.exit(1);
      }
  
      System.exit(0);
    }
  
    private static void print(String msg) {
      System.out.println("Number: " + msg);
    }
  
    public static void main(String[] args) {
      String projectId = requiredProperty("bigtable.projectID");
      String instanceId = requiredProperty("bigtable.instanceID");
  
      doAudioBridge(projectId, instanceId);
    }
  
    private static String requiredProperty(String prop) {
      String value = System.getProperty(prop);
      if (value == null) {
        throw new IllegalArgumentException("Missing required system property: " + prop);
      }
      return value;
    }
  
  }
  </code></pre>
  
  <p>Here is my pom.xml file :</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;project&gt;
      &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
      &lt;groupId&gt;com.xxx&lt;/groupId&gt;
      &lt;artifactId&gt;xxx&lt;/artifactId&gt;
      &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
      &lt;packaging&gt;jar&lt;/packaging&gt;
      &lt;url&gt;http://maven.apache.org&lt;/url&gt;
  
      &lt;name&gt;xxx&lt;/name&gt;
  
      &lt;properties&gt;
          &lt;bigtable.version&gt;1.0.0-pre1&lt;/bigtable.version&gt;
          &lt;hbase.version&gt;1.1.5&lt;/hbase.version&gt;
          &lt;maven.compiler.target&gt;1.8&lt;/maven.compiler.target&gt;
          &lt;maven.compiler.source&gt;1.8&lt;/maven.compiler.source&gt;
      &lt;/properties&gt;
  
      &lt;repositories&gt;
      &lt;repository&gt;
          &lt;id&gt;snapshots-repo&lt;/id&gt;
          &lt;url&gt;https://oss.sonatype.org/content/repositories/snapshots&lt;/url&gt;
          &lt;releases&gt;&lt;enabled&gt;false&lt;/enabled&gt;&lt;/releases&gt;
          &lt;snapshots&gt;&lt;enabled&gt;true&lt;/enabled&gt;&lt;/snapshots&gt;
      &lt;/repository&gt;
      &lt;/repositories&gt;
  
      &lt;dependencies&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;com.google.cloud.bigtable&lt;/groupId&gt;
              &lt;artifactId&gt;bigtable-hbase-1.x&lt;/artifactId&gt;
              &lt;version&gt;${bigtable.version}&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;io.netty&lt;/groupId&gt;
              &lt;artifactId&gt;netty-tcnative-boringssl-static&lt;/artifactId&gt;
              &lt;version&gt;1.1.33.Fork26&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.apache.hbase&lt;/groupId&gt;
              &lt;artifactId&gt;hbase-client&lt;/artifactId&gt;
              &lt;version&gt;0.98.11-hadoop2&lt;/version&gt;
          &lt;/dependency&gt;
  
      &lt;/dependencies&gt;
  
      &lt;build&gt;
          &lt;plugins&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt;
                  &lt;artifactId&gt;exec-maven-plugin&lt;/artifactId&gt;
                  &lt;version&gt;1.5.0&lt;/version&gt;
                  &lt;configuration&gt;
                      &lt;mainClass&gt;com.xxx.xxx.AudioBridgeData&lt;/mainClass&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
          &lt;/plugins&gt;
      &lt;/build&gt;
  
  &lt;/project&gt;
  </code></pre>
  
  <p>And I tried to run this command : </p>
  
  <pre><code>mvn exec:java -Dbigtable.projectID=xxx -Dbigtable.instanceID=quickstart-instance
  </code></pre>
  
  <p>Thanks a lot for your help ! :)</p>