编译错误,查找符号,包括Pipeline,PCollection,PipelineOptions等

时间:2017-01-09 19:50:19

标签: google-cloud-dataflow

截至今天,由于错误定位了Dataflow SDK for Java中的许多关键类,因此我正在为现有代码进行构建中断,这些代码曾经正确编译。例如:

[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?

1 个答案:

答案 0 :(得分:7)

现有的Maven项目使用之前推荐的版本范围[1.0.0,2.0.0]用于Google Cloud Dataflow SDK for Java,可能会很快获得该SDK的新2.0.0-beta1版本。这个新版本的API与1.x版本不兼容,因此将它与现有代码一起使用将导致这些类型的破坏。

如果您受到影响,请更新您的Maven pom.xml以使用排除2.x系列中任何内容的版本范围,例如使用[1.0.0,1.99),如下所示:

<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稳定性,支持时间表和文档的相应警告。