我是靠谱客的博主 迷路水池,最近开发中收集的这篇文章主要介绍将类依赖的包一起打包到jar中,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 (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中所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部