代码改变世界

深入解析:maven打jar包,将依赖的jar提取出来

2025-11-28 17:33  tlnshuju  阅读(0)  评论(0)    收藏  举报
使用java写了一个自动化测试的功能,pom只引用了selenium和poi的包,但是把工程源码和工程放到了另外一台电脑,对应的poi,selenium的包也复制过去了,还是运行不起来,提示缺少各种jar。
 一个一个“排雷”找到的缺失的jar比较耗时,通过修改pom.xml中的配置,将依赖的jar,输出到一个固定目录,然后另外一台电脑修改配置,程序完美的运行起来了。
1、将相关lib提取到一个相关的目录,并将源码打包过来

    org.apache.maven.plugins
    maven-jar-plugin
    3.3.0
    
        
            
                ${main.class}
                true
                lib/
            
        
    

    org.apache.maven.plugins
    maven-dependency-plugin
    3.6.0
    
        
            copy-dependencies
            package
            
                copy-dependencies
            
            
                ${project.build.directory}/lib
                false
                false
                true
            
        
    


    org.apache.maven.plugins
    maven-dependency-plugin
    3.6.0
    
        
            copy-dependencies
            package
            
                copy-dependencies
            
            
                ${project.build.directory}/lib
                false
                false
                true
            
        
    




    org.apache.maven.plugins
    maven-jar-plugin
    3.3.0
    
        
            
                ${main.class}
                true
                lib/
            
        
    


    
        src/main/java
        
            **/*.java
        
        META-INF/sources
    
    
        src/main/resources
        
            **/*
        
    

使用以上配置,生成的jar包,及依赖包图示

2、使用如下配置,将lib整个打入jar


 
     org.springframework.boot
     spring-boot-maven-plugin
     2.7.0
     
         ${main.class}
         JAR
     
     
         
             
                 repackage