我为一个用Scala编码的Kafka Streams应用程序创建了一个jar文件,使用IntelliJ IDEA本身,然后使用SBT。以下是我一直面临的问题,到目前为止我还没有成功:
首先,我使用IntelliJ idea制作了一个jar文件。运行Jar文件时,它给出了以下错误:
java.lang.ClassNotFoundException:Main...
之后,我尝试使用SBT创建Jar文件。我在项目目录中创建了一个assembly.sbt文件,然后重新导入项目。之后,我执行了以下命令:
它生成了一个Jar文件。这一次,问题是它不是随机挑选Kafka图书馆。有时,它会抛出,例如,没有找到KafkaStreams。然后我将尝试重建jar,新的jar将抛出StreamsBuilder not found。我不断尝试,总结一下,我记得的一些错误如下:
name := "StreamsNew"
version := "0.1"
scalaVersion := "2.12.7"
mainClass := Some("src/main/scala/StreamsDemo/Main.scala")
libraryDependencies ++= Seq(
//"org.slf4j" % "slf4j-simple" % "1.7.28",
"org.apache.kafka" % "kafka-streams" % "2.3.0",
"org.apache.kafka" %% "kafka-streams-scala" % "2.3.0",
)
Assembly.sbt:
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.10" )
resolvers += Resolver.url("bintray-sbt-plugins", url("http://dl.bintray.com/sbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)
Scala版本:2.12.7
SBT版本:1.6.3
您不需要使用sbt package
,因为您需要一个fat jar(用于依赖项)。为此,您只需要执行sbt clean
和sbt assembly
。此外,主类路径应该只包含streamsdemo.main
而不是整个路径。现在,尝试运行通过汇编制作的jar。此外,您不需要Assembly.sbt中的解析器。
问题内容: 我最近遇到了这个问题: java.util.NoSuchElementException线程“ Thread-4”中的异常java.lang.IllegalStateException:不在FX应用程序线程上;仅在FX应用程序线程上有效。currentThread =线程4 该代码适用于jdk7,但不适用于jdk8,该代码如下所示: 然后我从以下代码中调用此线程: 我要做的就是从其他具
问题内容: 我已经用Java编写了一个应用程序,并且想添加一个功能来报告该应用程序的正常运行时间。JVM中是否有可以执行此操作的类/方法? 我应该在应用程序启动时保存时间戳,然后在请求时计算与当前正常运行时间的差额吗? 用Java检索应用程序正常运行时间的更好方法是什么? 问题答案: 您可以使用RuntimeMXBean.getUptime()
我对反应式编程有点陌生,我正在尝试组装以下组件:使用Java、Springboot 2、Webflux和reactor core,我想处理需要额外身份验证的非常特定的请求。因此,我通过一系列步骤实现了一个Web过滤器: 捕获请求的路径和方法。检查该组合是否存在,是否需要使用accessPointService进行特定身份验证。getAccessPointAuthorizationRequireme
我被要求将我们应用程序中警报对话框的外观与应用程序主题使用的外观相匹配。 我设法将一种样式应用于应用程序中的所有警报对话框,并将其作为应用程序主题的一部分,但也有一些情况样式应用不正确。 例如,当警报对话框包含“单一选择列表”作为其“消息”时,就会发生这种情况。 标题看起来不错,背景和按钮栏也不错,但是列表本身是有问题的。 起初,单选按钮及其它们的文本描述是黑色的,好像android使用默认颜色。
现在我正在学习C++我做了我的第一个小程序加法计算器,我写两个数字,它把它们相加。你能告诉我为什么我的输出是0吗? 输出:
我在1-2年前用libGDX做了一个游戏,我可以在eclipse上运行它,它很有效。当我想导出jar文件时,我转到Export-Runnable jar file-这里我选择package required libraries并导出它。