4

我是新來的谷歌雲扳手,並探索它,我開始由谷歌提供Here文檔。爲了探索我們從數據操作開始的任何數據庫,並且和我一樣,我開始使用這裏給出的簡單Java應用程序將數據寫入扳手https://github.com/GoogleCloudPlatform/java-docs-samples/blob/master/spanner/cloud-client/src/main/java/com/example/spanner/SpannerSample.java
我已經在下面的代碼片段顯示在相應的地方在驅動程序類的變化:谷歌雲扳手java.lang.IllegalArgumentException異常:碼頭ALPN/NPN沒有被正確配置

public static void main(String[] args) throws Exception { 
      String path = "File_Path"; 

      SpannerOptions.Builder options = SpannerOptions.newBuilder().setCredentials(GoogleCredentials.fromStream(new FileInputStream(path))); 
      options.setProjectId("Project_id"); 
      Spanner spanner = (options.build()).getService(); 
      try { 
       DatabaseId db = DatabaseId.of("project_id", "spannerInstance", "Database_name"); 
       DatabaseClient dbClient = spanner.getDatabaseClient(db); 
       run(dbClient); 
      } finally { 
       spanner.closeAsync().get(); 
      } 
      System.out.println("Closed client"); 
     } 

現在,當我嘗試執行我結束了以下錯誤代碼:

Exception in thread "main" java.lang.IllegalArgumentException: Jetty ALPN/NPN has not been properly configured. 
    at io.grpc.netty.GrpcSslContexts.selectApplicationProtocolConfig(GrpcSslContexts.java:174) 
    at io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts.java:151) 
    at io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts.java:139) 
    at io.grpc.netty.GrpcSslContexts.forClient(GrpcSslContexts.java:109) 
    at com.google.cloud.spanner.SpannerOptions$NettyRpcChannelFactory.newSslContext(SpannerOptions.java:283) 
    at com.google.cloud.spanner.SpannerOptions$NettyRpcChannelFactory.newChannel(SpannerOptions.java:274) 
    at com.google.cloud.spanner.SpannerOptions.createChannel(SpannerOptions.java:253) 
    at com.google.cloud.spanner.SpannerOptions.createChannels(SpannerOptions.java:240) 
    at com.google.cloud.spanner.SpannerOptions.<init>(SpannerOptions.java:89) 
    at com.google.cloud.spanner.SpannerOptions.<init>(SpannerOptions.java:43) 
    at com.google.cloud.spanner.SpannerOptions$Builder.build(SpannerOptions.java:180) 

,而搜索對於這個問題,我一直建議添加一些依賴,如:

compile group: 'org.eclipse.jetty.alpn', name: 'alpn-api', version: '1.1.3.v20160715' 
    compile group: 'org.mortbay.jetty.alpn', name: 'jetty-alpn-agent', version: '2.0.6' 
    compile group: 'io.grpc', name: 'grpc-all', version: '1.2.0' 
    compile group: 'io.netty', name: 'netty-all', version: '4.0.29.Final' 
    compile group: 'org.eclipse.jetty.orbit', name: 'javax.servlet', version: '3.0.0.v201112011016' 

但面臨着同樣的問題,我也是用的BigQuery和其他GCP的功能,同一個工作EN環境和他們都工作得很好,除了谷歌扳手,任何建議,這是讚賞。
謝謝。

+0

類路徑中可能存在衝突的庫,您能列出您正在使用的GCP庫的版本,以便我們可以嘗試重現嗎?同時,您可能想要考慮將庫更新爲最新版本。 –

+0

編譯組:'com.google.cloud',名稱:'google-cloud-spanner',版本:'0.17.1-beta'這裏是我添加的gradle依賴項。 –

+0

現在我使用最新的扳手API和雲API作爲編譯組:'com.google.cloud',名稱:'google-cloud-spanner',版本:'0.20.0-beta'和編譯組:'com.google .cloud',名稱:'google-cloud',版本:'0.20.0-alpha'仍然是錯誤。任何建議 –

回答

2

請閱讀關於這個問題的評論,@Mairbek Khadikov和我對此的討論結束了這個問題的實際原因。正如在評論中所討論的那樣,實際的問題是另一個依賴關係 通過添加

configurations { 
    compile.exclude module: 'netty-all' 
} 

到的build.gradle文件,這個問題已經解決了。

這裏是我提出的關於這個錯誤的github問題的鏈接。 github issue我最終發佈了確切的問題,並且我通過'@michaelbausor'瞭解了這個問題。

相關問題