(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拦截器报错,
只有自己写的代码,没有代码中需要的依赖
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30<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中的全部内容,更多相关将类依赖内容请搜索靠谱客的其他文章。
发表评论 取消回复