Springboot项⽬maven多模块拆分
多模块拆分的必要性
使⽤Java技术开发的⼯程项⽬,⽆论是数据处理系统还是Web⽹站,随着项⽬的不断发展,需求的不断细化与添加,⼯程项⽬中的代码越来越多,包结构也越来越复杂这时候⼯程的进展就会遇到各种问题:
(1)不同⽅⾯的代码之间相互耦合,这时候⼀系统出现问题很难定位到问题的出现原因,即使定位到问题也很难修正问题,可能在修正问题的时候引⼊更多的问题。
(2)多⽅⾯的代码集中在⼀个整体结构中,新⼊的开发者很难对整体项⽬有直观的感受,增加了新⼿介⼊开发的成本,需要有⼀个熟悉整个项⽬的开发者维护整个项⽬的结构(通常在项⽬较⼤且开发时间较长时这是很难做到的)。
(3)开发者对⾃⼰或者他⼈负责的代码边界很模糊,这是复杂项⽬中最容易遇到的,导致的结果就是开发者很容易修改了他⼈负责的代码且代码负责⼈还不知道,责任追踪很⿇烦。
将⼀个复杂项⽬拆分成多个模块是解决上述问题的⼀个重要⽅法,多模块的划分可以降低代码之间的耦合性(从类级别的耦合提升到jar包级别的耦合),每个模块都可以是⾃解释的(通过模块名或者模块⽂档),
模块还规范了代码边界的划分,开发者很容易通过模块确定⾃⼰所负责的内容。
多模块项⽬结构例⼦:
依赖关系:
dao层依赖model
service层依赖dao、model、utils
web层依赖service、model、utils
打包发布jar⽂件
springboot项⽬总要是在多模块化拆分之后还能打成可执⾏的jar包。
1.在启动类中修改pom⽂件(也就是web项⽬的)
<build>
<!-- 为jar包取名 -->
<finalName>owen-start</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.3.0.RELEASE</version>
</plugin>
</plugins>
</build>
2.在parent中的pom中添加
<build>
<plugins>
springboot结构<plugin>
<!-- The plugin rewrites your manifest -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.3.0.RELEASE</version>
<configuration><!-- 指定该Main Class为全局的唯⼀⼊⼝ -->
<mainClass>com.owen.OwenApplication</mainClass>
<layout>ZIP</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal><!--可以把依赖的包都打包到⽣成的Jar包中-->
</goals>
<!--可以⽣成不含依赖包的不可执⾏Jar包-->
<!-- configuration>
<classifier>exec</classifier>
</configuration> -->
</execution>
</executions>
</plugin>
</plugins>
</build>
3.执⾏打包命令,mvn package -st.skip=true 跳过测试。
4. ⽣成可执⾏的jar。
需要源码的下⾯留⾔哦!欢迎⼤家指正。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论