java.lang.NoClassDefFoundError:org.apache.nifi.bootstrap.RunNiFi.main中的org / slf4j / LoggerFactory

时间:2018-04-06 13:38:48

标签: noclassdeffounderror apache-nifi loggerfactory

我使用intellij idea来从bootstrap /.../ RunNiFi.main(" start")运行nifi源代码:github link,但它出错了:{{3 }}

你可以帮帮我吗?

感谢

我应该从bootstrap /.../ RunNiFi.main(" start")运行代码吗?

2 个答案:

答案 0 :(得分:3)

您无法从IDE启动单个Java类来启动NiFi,类路径无法正确设置。

您需要运行完整版本并从nifi-assembly / target获取程序集,然后使用" bin / nifi.sh start"从构建的程序集运行NiFi。

您可以直接从解压缩的程序集目标运行它,例如:

cd nifi-assembly/target/nifi-1.6.0-SNAPSHOT-bin/nifi-1.6.0-SNAPSHOT
./bin/nifi.sh start
编辑:您仍然可以使用调试器,但它将调试远程Java应用程序。在NiFi的bootstrap.conf中,取消注释以下行并重新启动NiFi:

#java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

这告诉NiFi JVM在端口8000上侦听传入的调试请求。

在IDE中,创建一个远程调试配置并连接到localhost端口8000.您的断点应该正常工作。

答案 1 :(得分:0)

如果你能读中文,你可以阅读我的个人博客link here

我找到了方法, 如果您想要远程调试nifi,请关注remote debug link

如果您想进行本地调试,可以按照以下方式进行操作。 (我在Windows中使用了Intellij的想法进行调试)

1

$ git config --global core.longpaths true $ git config --global core.autocrlf false

  1. 打开intellij想法到git clone https://github.com/apache/nifipicture here, 将import configure设置为default,next ... 打开项目后,nifi可能会收到错误信息,只是忽略它。

  2. mvn -T 2 clean install -DskipTests

  3. 配置调试器 picture herepicture here

  4.   

    确认:

    nifi快速入门链接:https://nifi.apache.org/quickstart.html

    在调试模式下运行NiFi链接:https://cwiki.apache.org/confluence/display/NIFI/Contributor+Guide#ContributorGuide-RunningNiFiinDebugmode