Maven shade 打包导致SPI失效

当你看代码发现使用ServiceLoader去加载,但是加载出来的结果跟你想要的不一样,缺失了一部分,可以检查下是不是这个问题

一个因此导致的报错

cannot find a NameResolver for xxx

如题,当使用maven shade打包时,会导致SPI的文件被覆盖,也就是一个接口,只有一个实现

增加如下配置即可,会进行文件合并


  ...
  
    
      
        org.apache.maven.plugins
        maven-shade-plugin
        3.2.1
        
          
            
              shade
            
            
              
                
              
            
          
        
      
    
  
  ...

你可能感兴趣的:(maven,java)