spring boot dubbo多模块项目搭建案例

1、idea创建多模块springboot项目

打开idea,创建新项目file->new->project,进入如下页面。

spring boot dubbo多模块项目搭建案例

选择SpringInitializr,next 然后进入到设备页面,并如下进行父项目设置如下:

spring boot dubbo多模块项目搭建案例

点击Next后进入依赖选择页面,此时先不进行选择,直接Next进入到下一个页面,进入项目信息设置页面如下:

spring boot dubbo多模块项目搭建案例

如上设置完,项目名称,保存路径后,点击finish,父项目将会创建完成,目录结构如下:

spring boot dubbo多模块项目搭建案例

选中上图中的.mvn文件夹,src文件夹,mvnw文件,mvnw.cmd文件,将这4个删除,删除后目录结构如下。

spring boot dubbo多模块项目搭建案例

2、创建多个子模块

在项目名称上点击右键,选中new->module,进行子模块创建。

spring boot dubbo多模块项目搭建案例

选择SpringInitializr,next 然后进入到设备页面,设置子模块springBootClient的信息,如下:

spring boot dubbo多模块项目搭建案例

然后直接next到设置模块的名称,如下:

spring boot dubbo多模块项目搭建案例

点击finish,则第一个子模块创建完成,项目结构如下。

spring boot dubbo多模块项目搭建案例

选中上图中的.mvn文件夹,mvnw文件,mvnw.cmd文件,将这3个删除,删除后目录结构如下。

spring boot dubbo多模块项目搭建案例

如上创建第一个子模块相同,创建另2个子模块springBootServer,springBootApi。创建完后目录结构如下。

spring boot dubbo多模块项目搭建案例

3、配置pom.xml文件。

springBootParent的pom.xml配置后的xml如下,

因父项目只作为管理使用,删除build节点,更改packageing属性为pom,添加项目中的子模块。

 

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

<!--?xml version="1.0" encoding="UTF-8"?-->

<project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

   <modelversion>4.0.0</modelversion>

 

   <groupid>com.example</groupid>

   springBootParent</artifactid>

   <version>0.0.1-SNAPSHOT</version>

   <packaging>pom</packaging>

 

   <name>springBootParent</name>

   <description>Demo project for Spring Boot</description>

 

   <parent>

      <groupid>org.springframework.boot</groupid>

      spring-boot-starter-parent</artifactid>

      <version>2.0.2.RELEASE</version>

      <relativepath> <!-- lookup parent from repository -->

   </relativepath></parent>

   <modules>

      <module>springBootApi</module>

      <module>springBootClient</module>

      <module>springBootServer</module>

   </modules>

   <properties>

      <project.build.sourceencoding>UTF-8</project.build.sourceencoding>

      <project.reporting.outputencoding>UTF-8</project.reporting.outputencoding>

      <java.version>1.8</java.version>

   </properties>

   <dependencymanagement>

      <dependencies>

 

      </dependencies>

   </dependencymanagement>

    

</project>

springBootApi 的pom.xml如下

 

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

<!--?xml version="1.0" encoding="UTF-8"?-->

<project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

   <modelversion>4.0.0</modelversion>

 

   <groupid>com.example</groupid>

   springBootApi</artifactid>

   <version>0.0.1-SNAPSHOT</version>

   <packaging>jar</packaging>

   <name>springBootApi</name>

   <description>Demo project for Spring Boot</description>

   <parent>

      <groupid>com.example</groupid>

      springBootParent</artifactid>

      <version>0.0.1-SNAPSHOT</version>

      <relativepath>../pom.xml</relativepath>

   </parent>

   <dependencies>

      <dependency>

         <groupid>org.springframework.boot</groupid>

         spring-boot-starter</artifactid>

      </dependency>

      <dependency>

         <groupid>org.springframework.boot</groupid>

         spring-boot-starter-test</artifactid>

         <scope>test</scope>

      </dependency>

   </dependencies>

</project>

springBootClient的pom.xml配置文件如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

<!--?xml version="1.0" encoding="UTF-8"?-->

<project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

   <modelversion>4.0.0</modelversion>

   <groupid>com.example</groupid>

   springBootClient</artifactid>

   <version>0.0.1-SNAPSHOT</version>

   <packaging>jar</packaging>

   <name>springBootClient</name>

   <description>Demo project for Spring Boot</description>

   <parent>

      <groupid>com.example</groupid>

      springBootParent</artifactid>

      <version>0.0.1-SNAPSHOT</version>

      <relativepath>../pom.xml</relativepath>

   </parent>

   <dependencies>

      <dependency>

         <groupid>com.example</groupid>

         springBootApi</artifactid>

         <version>0.0.1-SNAPSHOT</version>

      </dependency>

      <dependency>

         <groupid>org.springframework.boot</groupid>

         spring-boot-starter</artifactid>

      </dependency>

      <dependency>

         <groupid>org.springframework.boot</groupid>

         spring-boot-starter-test</artifactid>

         <scope>test</scope>

      </dependency>

   </dependencies>

   <build>

      <plugins>

         <plugin>

            <groupid>org.springframework.boot</groupid>

            spring-boot-maven-plugin</artifactid>

         </plugin>

      </plugins>

   </build>

</project>

springBootServer的pom.xml的配置文件如下:

 

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

<!--?xml version="1.0" encoding="UTF-8"?-->

<project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

   <modelversion>4.0.0</modelversion>

   <groupid>com.example</groupid>

   springBootServer</artifactid>

   <version>0.0.1-SNAPSHOT</version>

   <packaging>jar</packaging>

   <name>springBootServer</name>

   <description>Demo project for Spring Boot</description>

   <parent>

      <groupid>com.example</groupid>

      springBootParent</artifactid>

      <version>0.0.1-SNAPSHOT</version>

      <relativepath>../pom.xml</relativepath>

   </parent>

   <dependencies>

      <dependency>

         <groupid>com.example</groupid>

         springBootApi</artifactid>

         <version>0.0.1-SNAPSHOT</version>

      </dependency>

      <dependency>

         <groupid>org.springframework.boot</groupid>

         spring-boot-starter</artifactid>

      </dependency>

 

      <dependency>

         <groupid>org.springframework.boot</groupid>

         spring-boot-starter-test</artifactid>

         <scope>test</scope>

      </dependency>

   </dependencies>

   <build>

      <plugins>

         <plugin>

            <groupid>org.springframework.boot</groupid>

            spring-boot-maven-plugin</artifactid>

         </plugin>

      </plugins>

   </build>

</project>

自此,springboot多模块搭建完成,通过mvn进行编译测试。

通过idea maven projects 点击springBootParent ->lifecycle->clean->compile.若结果为[INFO] BUILD SUCCESS,则多模块构建成功。?

spring boot dubbo多模块项目搭建案例