2017-01-09 41 views
4

截至今日,由於錯誤定位了Dataflow SDK for Java中的許多關鍵類,因此我得到了用於正確編譯的現有代碼的構建中斷。例如:編譯發現符號的錯誤,包括Pipeline,PCollection,PipelineOptions等

[ERROR] /tmp/first-dataflow/src/main/java/com/google/cloud/dataflow/examples/common/DataflowExampleUtils.java:[30,37] cannot find symbol 
[ERROR] symbol: class Pipeline 
[ERROR] location: package com.google.cloud.dataflow.sdk 

是否更改了API?

回答

7

現有的Maven項目使用以前推薦的版本範圍[1.0.0,2.0.0)用於Google雲數據流SDK for Java,可能很快會選擇該SDK的新2.0.0-beta1版本。這個新版本的API與1.x版本不兼容,因此將其與現有代碼一起使用會導致這些破壞。

如果受到影響,更新你的Maven pom.xml使用[1.0.0,1.99)使用的是排除在2.x的家庭任何一個版本範圍,例如,如下:

<dependency> 
    <groupId>com.google.cloud.dataflow</groupId> 
    <artifactId>google-cloud-dataflow-java-sdk-all</artifactId> 
    <version>[1.0.0,1.99)</version> 
</dependency> 

這應該解決您的編譯問題,並允許您繼續使用1.x系列中的最新版本(當前爲1.9.0)。

欲瞭解更多信息和更新,您可以關注此GitHub issue

另外,您可以在其release notes中瞭解有關2.0.0-beta1版本的更多信息,包括這些不兼容的API更改。但請注意,這是一個早期預覽,並對API穩定性,支持時間表和文檔有相應的警告。