问题在于您构建胖子的方式。将
maven-assembly-plugin不处理与相关的文件
ServiceLoader正确。
ServiceLoader依赖于
meta-INF/services/org.apache.beam.sdk.io.FileSystemRegistrar每个实现中列出的条目,以便Java知道如何找到它们。
meta-INF/services/org.apache.beam.sdk.io.FileSystemRegistrarFatjar中的内容仅可能是:
org.apache.beam.sdk.io.LocalFileSystemRegistrar
您需要列出它(以及您想要的任何其他实现):
org.apache.beam.sdk.io.LocalFileSystemRegistrarorg.apache.beam.sdk.extensions.gcp.storage.GcsFileSystemRegistrar
最好的选择是使用了解这些
ServiceLoader要求的工具,例如
maven-shade-plugin配置为使用ServicesResourceTransformer来构建胖子的工具。



