springboot Phoenix开发 maven使用小技巧(****)

首先呢,使用jdbc连接Phoenix,运气好,添加依赖,常规jdbc,之前,打包,运行,正常,这当然是理想的情况!

所以我们来说不理想的情况,启动报 guava的错误啦,找不到驱动啦,idea启动正常,打包启动报错了,或者是第三方jar包太大,启动不了了,启动正常,报什么

Inconsistent namespace mapping properties. Cannot initiate connection as SYSTEM:CATALOG is found but client does not have phoenix.schema.isNamespaceMappingEnabled enabled

搞死人哦

流畅的解决方法

首先找自己hbase 和Phoenix对应的依赖

        
            org.apache.phoenix
            phoenix-4.14.0-cdh5.14.2
            client
        

极大可能,下载不到你版本的依赖jar,解决方法,百度找,然后下载jar包,之后使用maven install将jar包install到本地仓库

mvn install:install-file -DlocalRepositoryPath=D:\Home\Java\tools\repository  -Dfile=phoenix-4.14.0-cdh5.14.2-client.jar -DgroupId=org.apache.phoenix -DartifactId=phoenix-4.14.0-cdh5.14.2 -Dversion=client -Dpackaging=jar

具体命令参数不做解释,我相信你知道怎么搞,不会就百度,然后执行成功后,你的仓库中就有这个依赖了,上面的依赖也正常了

然后问题又来了,idea启动是正常的,但是打包启动就报错 什么unsupport zip64,网上说是文件太大了,一堆

解决方法,修改打包方式(Main-Class需要修改成你自己的):

    
        
            
                org.apache.maven.plugins
                maven-shade-plugin
                
                    
                        org.springframework.boot
                        spring-boot-maven-plugin
                        2.1.6.RELEASE
                    
                
                
                    true
                    true
                    
                        
                            *:*
                            
                                META-INF/*.SF
                                META-INF/*.DSA
                                META-INF/*.RSA
                            
                        
                    
                
                
                    
                        package
                        
                            shade
                        
                        
                            
                                
                                    META-INF/spring.handlers
                                
                                
                                    META-INF/spring.factories
                                
                                
                                    META-INF/spring.schemas
                                
                                
                                
                                    
                                        com.xzkj.kafka.KafkaApplication
                                    
                                
                            
                        
                    
                
            
        
    

然后就没有然后了,不论多大的第三方jar包,都可以打包并且启动,至于为什么,你可以把打包后的jar包解压下,你就知道为什么了!!!

 

小tips(给我自己用):

  任何maven仓库下载不到的依赖,从网上下载到,然后使用mvn install 到本地仓库,然后就不用使用systemPath来引用了,免得打包的时候,不会被打包进去.

------------------------------------------------------------------------------------------------------------------------------------     一只弱弱的小菜鸡

------------------------------------------------------------------------------------------------------------------------------------2019年12月27日11:54:50

你可能感兴趣的:(maven)