栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

解决使用maven打jar包缺失依赖包问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

解决使用maven打jar包缺失依赖包问题

问题描述

今日,遇到一个问题,在用IDEA写好Java 代码之后,在IDEA运行没有问题,但是用maven打成jar包再运行的时候,却报缺失依赖包的情况。例如下面情况

pom.xml配置



    4.0.0

    org.example
    bigdata_project
    1.0-SNAPSHOT

    
        8
        8
    

    
        
            org.apache.hadoop
            hadoop-hdfs
            2.10.1
        

        
            org.apache.hadoop
            hadoop-common
            2.10.1
        

        
            org.apache.hadoop
            hadoop-mapreduce-client-core
            2.10.1
        

        
            org.apache.hadoop
            hadoop-client
            2.10.1
        

        
            junit
            junit
            4.12
            test
        

        
            org.apache.hive
            hive-exec
            3.1.2
        

        
            org.apache.kafka
            kafka-clients
            3.1.0
        

        
            org.apache.kafka
            kafka-streams
            3.1.0
        

    

settings.xml配置


    alimaven
    aliyun maven
    http://maven.aliyun.com/nexus/content/groups/public/
    
    *

IDEA配置

 其余都是默认配置

IDEA运行代码正常:

使用maven工具点击 clean 清除,然后点击 install 生成 jar包

打开cmd命令行界面,运行jar包某个类,出现异常,如下图


问题分析以及解决办法

这时候,如果你将这个jar包解压,你会发现,除了自己写的代码,并没有把需要依赖的包打进去,jar包里面空空如也!可以判定,使用maven打包的时候,并没有把依赖包也打进去!

参考文章

https://www.cnblogs.com/chenmingming0225/p/13204247.htmlhttps://www.cnblogs.com/chenmingming0225/p/13204247.html

maven-shade-plugin 插件介绍

maven-shade-plugin介绍及使用_库昊天的博客-CSDN博客_maven maven-shade-plugin基本功能maven-shade-plugin提供了两大基本功能:将依赖的jar包打包到当前jar包(常规打包是不会将所依赖jar包打进来的);对依赖的jar包进行重命名(用于类的隔离);Goals maven-shade-plugin 只存在一个goal shade:shade,需要将其绑定到 phase package 上,使用框架如下:<project>...https://blog.csdn.net/yangguosb/article/details/80619481

解决办法,需要在pom.xml文件添加 plugin  java编译插件,maven的编译插件有很多,我添加的是maven-shade-plugin插件,代码如下



    4.0.0

    org.example
    bigdata_project
    1.0-SNAPSHOT

    
        8
        8
    

    
        
            org.apache.hadoop
            hadoop-hdfs
            2.10.1
        

        
            org.apache.hadoop
            hadoop-common
            2.10.1
        

        
            org.apache.hadoop
            hadoop-mapreduce-client-core
            2.10.1
        

        
            org.apache.hadoop
            hadoop-client
            2.10.1
        

        
            junit
            junit
            4.12
            test
        

        
            org.apache.hive
            hive-exec
            3.1.2
        

        
            org.apache.kafka
            kafka-clients
            3.1.0
        

        
            org.apache.kafka
            kafka-streams
            3.1.0
        

    

    
        
            
                org.apache.maven.plugins
                maven-shade-plugin
                3.1.0
                
                    
                        package
                        
                            shade
                        
                        
                            
                                
                                    *:*
                                    
                                    
                                        META-INF/*.SF
                                        META-INF/*.DSA
                                        META-INF/*.RSA
                                    
                                
                            
                            
                                
                                    
                                    cn.kafkademo.ProducerDemo1
                                
                            
                        
                    
                
            

        
    

注意需要填写mainClass 和 excludes 否则会报错,如下图

然后再使用maven工具点击 clean 清除,点击 install 生成 jar包

使用cmd打开命令行,运行jar包,就能正常运行了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/886103.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号