问题:
1.nifi处理器的编写中,添加了新的类,在类里面调用了别的jar包的方法,然后在该类下写main函数进行测试时,程序运行正常,但是将项目打包后,将processor包拷贝到相应的nifi启动的位置,在nifi中运行时出现找不到类的错误。简言之,在main函数中运行正常,打包后找不到类。
解决:最终将该处理器的nar包和processor包全部重新生成一遍,然后都放到相应的位置再启动,运行成功,原因是nar包也需要更新。
2.nifi处理器的编写中,调用了csvutils这个类,编译时正常,运行时出现找不到类的错误。简言之,程序编译正常,运行时出现类缺失的错误。
解决:使用system.getproperty(“java.class.path”)打印程序运行的路径之后发现确实缺失类,打开fileàproject structureàmodules选择运行的程序模块,然后点击右侧的dependencies,查看缺失的包的scope是否为compile,若是provide,需要改为compile。