Maven多模块项目结构依赖和搭建

简介

Maven多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定的模块。

简单多模块搭建
多模块项目说简单点可以理解为项目间的继承。首先搭建一个简单的多模块项目结构,我用的idea创建项目。既然是继承我们先创建整个项目结构的父项目,创建的过程注意一点,因为使用的是idea所以父项目创建为project。因为是父项目所以src等文件夹都可以删掉了 看起来项目更干净一些,我们只需要父项目的pom文件来进行依赖配置。父项目pom文件如下:

    com.xs.personal
    loginServer
    pom
    1.0.1
    loginServer
    http://maven.apache.org

    
        UTF-8
        4.2.5.RELEASE
        1.0.1
    

    
        
            
                org.springframework
                spring-websocket
                ${spring.version}
            
            .......................
      
    

注意父项目的打包方式配置成pom方式。maven打包方式配置为pom打包就是什么都不会生成。
dependencyManagement 配置用来配置声明子项目可能用到的依赖 如果子项目用到了某个依赖可以不需要配置版本号 而使用父项目声明好的 方便各个子项目的依赖管理。当然如果子项目配置了版本号则会使用子项目配置的版本号。
父项目创建好了 ,接下来创建子项目。在刚刚建立的父项目上创建module。我创建了三个module,创建完后如下:


创建完会发现父项目的pom文件中多出了部分配置


        loginServer-web
        loginServer-api
        loginServer-mapper
        loginServer-service
    

这样简单的父子项目结构就建好了,但是只有结构是不够的,各个项目间还需要建立依赖互相调用。首先在父项目pom文件中加入这些依赖


        
            
            
                com.xs.personal
                loginServer-web
                ${login.version}
            
            
                com.xs.personal
                loginServer-api
                ${login.version}
            
            
                com.xs.personal
                loginServer-service
                ${login.version}
            
            
                com.xs.personal
                loginServer-mapper
                ${login.version}
            
        
  

在子项目的依赖只需要使用父项目声明的依赖就可以了,比如web子项目需要依赖service子项目只需要在web子项目的pom文件加入如下依赖就可以了:


        com.xs.personal
        loginServer-service

这样整个简单多模块项目结构就搭建和依赖好了。

实际项目完整版多模块项目结构依赖

在实际项目中,只是简单的多项目依赖并不能满足工作需要,比如我上面建立的登录模块现在用dubbo做分布式服务,我要新建立一个提供登录服务的项目。可能还需要两个项目不在一台服务器。实际项目中这样不同的项目可能会有10几个。办法当然是有的。
创建多个简单多模块结构每个结构中的父项目可能是登录模块项目,登录服务项目等等。接下来我们再单独创建一个父项目作为所有结构中的爷爷项目,这样每组子项目依赖父项目,所有父项目依赖爷爷项目,这样不同的模块就依赖起来了。
但是跨服务器的问题怎么解决呢。创建完爷爷项目后我们install这个爷爷项目,就像下图一样:



然后到我们的maven本地仓库中就可以找到爷爷项目依赖包了,文件目录是groupId+artifactId+版本号然后我们可以看到下图的文件:


这就是最关键的文件了 接下来把这个文件传到maven服务器上,各个父项目只需要在pom中j加入下面的配置就可以像依赖jar包一样依赖这个爷爷项目了,这样整个完整的多项目模块就创建依赖好了。


        loginServer
        com.xs.personal
        1.0.1
    

转载自:https://blog.csdn.net/xs925048899/article/details/79748707

你可能感兴趣的:(Maven多模块项目结构依赖和搭建)