在building Spark中,由sbt和maven构建的罐子是不同的
我想自己构建Spark 3.0.0流媒体子模块源代码,并将它们安装到本地存储库中,然后重用它,但我面临一个有线问题。如果我在Maven中构建流媒体,一切都正常。但是如果我使用Sbt构建它,jar将缺少依赖性 不使用Maven的原因是因为打包时间太长,不适合迭代开发 Maven 命令:在building Spark中,由sbt和maven构建的罐子是不同的,maven,apache-spark,sbt,Maven,Apache Spark,Sbt,我想自己构建Spark 3.0.0流媒体子模块源代码,并将它们安装到本地存储库中,然后重用它,但我面临一个有线问题。如果我在Maven中构建流媒体,一切都正常。但是如果我使用Sbt构建它,jar将缺少依赖性 不使用Maven的原因是因为打包时间太长,不适合迭代开发 Maven 命令:mvn安装-DskipTests-pl流媒体 当我使用自己制作的罐子时,一切都很好 Sbt 命令:sbt,projectstreaming,publishLocal 当我使用它时,由于缺乏依赖性,系统无法工作。错误消
mvn安装-DskipTests-pl流媒体
当我使用自己制作的罐子时,一切都很好
Sbt
命令:sbt
,projectstreaming
,publishLocal
当我使用它时,由于缺乏依赖性,系统无法工作。错误消息如下所示:
20/09/07 00:12:16信息接收方监管者mpl:启动时呼叫接收方0
20/09/07 00:12:16信息接收方监管者示例:接收方再次启动
20/09/07 00:12:17信息套接字接收器:本地主机的已关闭套接字:9000
线程“Socket Receiver”java.lang.NoSuchMethodError:com.google.common.util.concurrent.RateLimiter.acquire()V中出现异常
位于org.apache.spark.streaming.receiver.RateLimiter.waitToPush(RateLimiter.scala:45)
位于org.apache.spark.streaming.receiver.BlockGenerator.addData(BlockGenerator.scala:165)
在org.apache.spark.streaming.receiver.ReceiverSupervisorImpl.pushSingle(ReceiverSupervisorImpl.scala:120)上
位于org.apache.spark.streaming.receiver.receiver.store(receiver.scala:119)
在org.apache.spark.streaming.dstream.SocketReceiver.receive上(SocketInputDStream.scala:92)
位于org.apache.spark.streaming.dstream.SocketReceiver$$anon$1.run(SocketInputDStream.scala:72)
20/09/07 00:12:20信息作业调度器:添加了1599408740000毫秒的作业
20/09/07 00:12:20信息作业计划程序:从时间为1599408740000毫秒的作业集启动作业流式处理作业1599408740000毫秒
我不知道在Sbt中打包时问题发生在哪里。那
NoSuchMethodError
似乎是由于依赖项版本不匹配而不是“缺少依赖项”。你能不能打包
(不是publishLocal
,因为它到了~/.ivy2不是~/.m2,但在这里并不重要)。那NoSuchMethodError
似乎是由于依赖项版本不匹配而不是“缺少依赖项”。你能不能打包
(不是publishLocal
,因为它会转到~/.ivy2而不是~/.m2,但在这里并不重要)。