这篇文章给大家介绍maven中怎么重构项目,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
网站建设、网站设计服务团队是一支充满着热情的团队,执着、敏锐、追求更好,是创新互联的标准与要求,同时竭诚为客户提供服务是我们的理念。创新互联把每个网站当做一个产品来开发,精雕细琢,追求一名工匠心中的细致,我们更用心!
user-system拆分成:
user-web
user-service
user-dao
user-common
我们对其拆分后很有可能存在多个子项目中同时依赖某个jar包,如果使用不当可能会导致每个模块使用的版本不一样,所以想想能不能有什么方式来解决这类问题呢?
答案:能。但是得先了解两个概念:聚合和继承。
所谓的聚合就是我们如果想一次性构建多个项目模块,那我们就需要把这些项目模块进行聚合。
配置模板
项目模块一 项目模块二 项目模块三 项目模块...
比如我们对user-web、user-service、user-dao、user-common四个项目模块进行聚合。
user-web user-service user-dao user-common
注意:其中module的路径为相对路径。
这样就解决了我们项目模块的聚合,我们再来看看maven是如何来解决由于重复依赖导致版本不一样的问题。
继承为了消除重复,我们把很多相同的配置提取出来,例如:grouptId,version等 。
maven-demo com.tian 1.0-SNAPSHOT
继承代码过程中,可以定义属性,例如:
UTF-8 4.13.1 0.0.1-SNAPSHOT
访问属性的方式为${junit.version},例如:
maven-demo com.tian 1.0-SNAPSHOT 4.0.0 user-web junit junit ${junit.version}
这样我们就可以使用到上面定义的属性junit.version=4.13.1。
由于项目模块较多,所以我们又抽象了一层,抽出一个parent来管理子项目的公共的依赖。为了项目的正确运行,必须让所有的子项目使用依赖项的统一版本,必须确保应用的各个项目的依赖项和版本一致,才能保证测试的和发布的是相同的结果。
junit junit ${junit.version} test
这样的好处是子模块可以有选择性的继承,而不需要全部继承。
这样做的好处:统一管理项目的版本号,确保应用的各个项目的依赖和版本一致,才能保证测试的和发布的是相同的成果,因此,在顶层pom中定义共同的依赖关系。同时可以避免在每个使用的子项目中都声明一个版本号,这样想升级或者切换到另一个版本时,只需要在父类容器里更新,不需要任何一个子项目的修改;如果某个子项目需要另外一个版本号时,只需要在dependencies中声明一个版本号即可。子类就会使用子类声明的版本号,不继承于父类版本号。
在前面我们构建多模块项目中,关系如下
配置我们之前安装好的maven目录、maven下面的setting.xml以及本地仓库目录。然后Apply--->OK。
这样我们就把Maven集成到我们的IDEA中来了。
我们可以在父项目中对所有子项目进行编译、打包等。我们就来对所有子模块进行打包。
也可单独对某个子项目进行打包等操作。比如我们对user-common进行clean。
然后把src目录删掉,创建子项目:
选中user-parent项目,右键,选中New-->Module
next。填写子项目名称,我们这里创建一个user-web的子项目:
点击Finish:
已经添加了modules,同时把我们的user-web添加进去了。
同样方法,我们就可以创建更多字项目了:
再看看user-parent中的pom.xml文件内容:
关于maven中怎么重构项目就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。