Maven、SpringBoot框架结构优化

一、创建maven项目,名为test-parent,pom文件如下:

 1 ...        
 2         <artifactId>test-parent</artifactId>
 3       <version>0.0.1-SNAPSHOT</version>
 4       <packaging>pom</packaging><!--这个值默认是jar,一般不专门定义。这里值是pom,这个项目里只有一个pom文件-->
 5 ...
 6         <properties><!--这里定义<depencies>引入的jar的版本值-->
 7         <drools.version>7.1.0.Final</drools.version>
 8         <springloaded.version>1.2.6.RELEASE</springloaded.version>
 9         <axis.version>1.4</axis.version>
10         <axis-jaxrpc.version>1.2.1</axis-jaxrpc.version>
11     </properties>
12 ...
13         <repositories><!--这里定义私服地址-->
14         ...    
15         </repositories>
16 ...
17         <dependencies>
18             <dependency>
19                 <groupId>org.drools</groupId>
20                 <artifactId>drools-bom</artifactId>
21                 <type>pom</type>
22                 <version>${drools.version}</version><!--这里的值在上面<properties>中定义-->
23                 <scope>import</scope>
24             </dependency>
25         ...
26         </dependencies>        
27 ...

test-parent用于统一管理jar包的版本、私服地址。

分布式开发的多个模块,引用的同一个jar,最好统一一个版本,所以版本放在parent中维护。防止版本太多造成jar包冲突。

二、建公用vo项目和arch项目

公用vo项目 test-common-vo:存放分布式开发的其他项目会用到的vo对象,或者公用vo对象。pom.xml:

 1 ...
 2 <parent><!--设置parent为test-parent项目,继承它的pom配置-->
 3     <groupId>com.test</groupId>
 4     <artifactId>test-parent</artifactId>
 5     <version>0.0.1-SNAPSHOT</version>
 6 </parent>
 7 <artifactId>test-common-vo</artifactId>
 8 ...
 9 <depencies><!--用到的jar包即使parent项目有,这里仍然需要配置才能引入-->
10         ...
11 </depencies>

公用arch项目存放公用的方法,比如feign调用其他模块的方法

将这两个项目package或者deploy打包放到私服上,在parent项目的pom中引入:

 1 ...    
 2 <dependency>
 3     <groupId>com.test</groupId>
 4     <artifactId>test-common-vo</artifactId>
 5     <version>${test-common-vo.version}</version>
 6 </dependency>
 7         <groupId>com.test</groupId>
 8     <artifactId>test-common-arch</artifactId>
 9     <version>${test-common-arch.version}</version>
10 </dependency> 
11 ...

三、业务模块的项目test-yeWu-server

业务模块的pom配置parent:

 1 ...
 2 <parent><!--配parent-->
 3      <groupId>com.test</groupId>
 4      <artifactId>test-parent</artifactId>
 5      <version>0.0.1-SNAPSHOT</version>
 6 </parent>
 7 <dependency><!--引入公用-->
 8     <groupId>com.test</groupId>
 9     <artifactId>test-common-arch</artifactId>
10 </dependency>
11 <!--如果需要vo的话引入-->
12 <dependency><!--引入公用-->
13     <groupId>com.test</groupId>
14     <artifactId>test-common-vo</artifactId>
15 </dependency>
16 ...

猜你喜欢

转载自www.cnblogs.com/mySummer/p/9447411.html