springboot~nexus项目打包要注意的地方

一个使用maven制作框架包时,会有一个主项目,然后它有多个子项目框架组成,很少一个工具包一个工程,像springboot,springcloud都是这种结构,主项目用来管理一些依赖包的版本,这对于框架型项目来说是很必要的,而对于业务项目来说,因为目前都是推荐使用微服务的轻量方式,所以不建议用多项目绑定一个大项目的方式,而都是一个服务一个项目。
springboot~nexus项目打包要注意的地方_第1张图片

主pom文件

主项目的pom文件用来管理依赖包版本,一般在dependencyManagement节点去声明它们的版本号,这样在子项目里可以不声明相同包的版本信息了

   
        
            
            
                org.springframework.boot
                spring-boot-dependencies
                ${spring-boot-dependencies.version}
                pom
                import
            

            
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                ${spring-cloud-alibaba-dependencies.version}
                pom
                import
            

            
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            

            
            
                org.springframework.boot
                spring-boot-starter-web
                ${spring-boot-dependencies.version}
                
                    
                    
                        org.springframework.boot
                        spring-boot-starter-tomcat
                    
                
            


            
            
                com.google.guava
                guava
                ${guava.version}
            


            
            
                mysql
                mysql-connector-java
                ${mysql.drive.version}
            


            
            
                com.zaxxer
                HikariCP
                ${HikariCP.version}
            

            
            
                com.baomidou
                mybatis-plus-boot-starter
                ${mybatis-plus-boot-starter.version}
            


            
            
                com.alibaba
                fastjson
                ${fastjson.version}
            


            
            
                io.springfox
                springfox-swagger2
                ${springfox-swagger2.version}
            


            
            
                io.springfox
                springfox-swagger-ui
                ${springfox-swagger2.version}
            

            
            
                org.apache.httpcomponents
                httpclient
                ${httpclient.version}
            


            
            
                io.github.openfeign
                feign-httpclient
                ${feign-httpclient.version}
            
        
    

如果项目希望进行发布到nexus私服上,需要配置distributionManagement节点的信息,它对应你的.m2/settings.xml里的profile节点信息

        
        
            releases
            Nexus Release Repository
            http://192.168.0.203:8081/repository/maven-releases/
        
        
            snapshots
            Nexus Snapshot Repository
            http://192.168.0.203:8081/repository/maven-snapshots/
        

拉取nexus的类库

如果希望拉取nexus的类库,可以将settings.xml文件里添加profile节点,并激活它

    
        
            
            dev
            
                
                    
                    maven-public
                    http://192.168.0.203:8081/repository/maven-public/
                    
                    
                        true
                    
                    
                    
                        true
                    
                
            
            
                
                    maven-public
                    maven-plugin
                    http://192.168.0.203:8081/repository/maven-public/
                    
                        true
                    
                    
                        true
                    
                
            
        

    

    
        dev
    

使用deploy发布项目

第一次把工具包发到nexus时,需要在点击主项目的 deploy它会把主项目和其子项目同时发到nexus上面,后续可以只deploy修改的项目
发布

在具体项目里使用它

直接在项目的pom里,添加对应的工具包即可,工具包的项目依赖你不需要关心

   
            com.lind
            lind-common
            ${lind-common.version}
  

注意:对于框架型项目,需要保存你的工具包依赖的项目也在nexus上面,否则会导致加载失败。

你可能感兴趣的:(springboot~nexus项目打包要注意的地方)