概述
(TaildirSource.java:236)] Unable to tail files
java.lang.NoClassDefFoundError: com/alibaba/fastjson/JSON
at MyInterceptor.intercept(MyInterceptor.java:35)
at MyInterceptor.intercept(MyInterceptor.java:70)
at org.apache.flume.interceptor.InterceptorChain.intercept(InterceptorChain.java:62)
at org.apache.flume.channel.ChannelProcessor.processEventBatch(ChannelProcessor.java:148)
at org.apache.flume.source.taildir.TaildirSource.tailFileProcess(TaildirSource.java:263)
at org.apache.flume.source.taildir.TaildirSource.process(TaildirSource.java:226)
at org.apache.flume.source.PollableSourceRunner$PollingRunner.run(PollableSourceRunner.java:133)
at java.lang.Thread.run(Thread.java:745)
运行自定义flume拦截器报错,
只有自己写的代码,没有代码中需要的依赖
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<!--这里要替换成我们要使用的jar包main方法所在类 -->
<mainClass>MyInterceptor</mainClass>
</manifest>
<manifestEntries>
<Class-Path>.</Class-Path>
</manifestEntries>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- 指定在打包节点执行jar包合并操作 -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
然后重新打包
然后运行成功
最后
以上就是迷路水池为你收集整理的将类依赖的包一起打包到jar中的全部内容,希望文章能够帮你解决将类依赖的包一起打包到jar中所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复