gpt4 book ai didi

java - 构建Apache Beam Cassandra JAR时没有重新打包的依赖项

转载 作者:行者123 更新时间:2023-12-03 03:57:15 26 4
gpt4 key购买 nike

尝试为Apache Beam Cassandra JAR编译和使用快照。
似乎该构建未在JAR中打包Guava依赖项。
当其他代码使用JAR时,这将导致编译失败-请参见以下异常:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/beam/vendor/guava/v20_0/com/google/common/base/Preconditions
at org.apache.beam.sdk.io.cassandra.CassandraIO$Read.withHosts(CassandraIO.java:180)
at org.apache.beam.examples.JoinFromCassandraToCassandra.main(JoinFromCassandraToCassandra.java:26)
Caused by: java.lang.ClassNotFoundException: org.apache.beam.vendor.guava.v20_0.com.google.common.base.Preconditions
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
无论如何,我找不到使gradle build包成为JAR中必需的依赖项。
使用命令构建:
gradle -p ./sdks/java/io/cassandra shadowJar
有人知道该怎么做吗?
更新:显然,几个月前,Beam使用 Guava 的方式已经改变。 github.com/apache/beam/pull/7494-因此,当我在本地构建最新版本时,找不到org.apache.beam.sdk导入的org.apache.beam.vendor.guava.v20_0.com.google.common .options.PipelineOptionsFactory

最佳答案

因此,您似乎需要添加以下依赖项以使其在最新版本中工作。
希望它能帮助某人。

compile group: 'org.apache.beam', name: 'beam-vendor-guava-20_0', version: '0.1'
compile group: 'org.apache.beam', name: 'beam-vendor-grpc-1_13_1', version: '0.2'

关于java - 构建Apache Beam Cassandra JAR时没有重新打包的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55254740/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com