截至今天,由于错误定位了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?
答案 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稳定性,支持时间表和文档的相应警告。