利用IDEA創(chuàng)建maven多模塊項(xiàng)目(web模塊采用springboot)

項(xiàng)目需要,故將單個(gè)模塊的項(xiàng)目拆分成多模塊項(xiàng)目。

項(xiàng)目構(gòu)建

構(gòu)建父項(xiàng)目

首先新建一個(gè)標(biāo)準(zhǔn)的maven項(xiàng)目(不要勾選Create from archetype)
在這里插入圖片描述
然后輸入GroupId和ArtifactId。
在這里插入圖片描述
新建完成之后刪除src文件夾。因?yàn)楦疙?xiàng)目必須要實(shí)現(xiàn)具體的代碼。只需要協(xié)調(diào)各子module之間的關(guān)系。

增加fly-service子項(xiàng)目

在這里插入圖片描述

增加fly-app子項(xiàng)目(SpringBoot項(xiàng)目)

在這里插入圖片描述

修改POM文件

修改父項(xiàng)目的pom文件,關(guān)鍵代碼如下:

 <modules>
        <module>fly-service</module>
        <module>fly-app</module>
    </modules>


    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

在兩個(gè)子項(xiàng)目的pom文件中就要指定其parent,如fly-app子項(xiàng)目中

	<parent>
		<artifactId>fly_multi_blog</artifactId>
		<groupId>com.jay</groupId>
		<version>1.0-SNAPSHOT</version>
	</parent>

	<modelVersion>4.0.0</modelVersion>

	<groupId>com.jay</groupId>
	<artifactId>fly-app</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

這里最核心的是指定父子項(xiàng)目的關(guān)系,子項(xiàng)目之間的引用,如fly-app
子項(xiàng)目依賴了fly-service項(xiàng)目,所以,我們需要在fly-app中增加service的依賴

<dependency>
			<groupId>com.jay</groupId>
			<artifactId>fly-service</artifactId>
			<version>1.0-SNAPSHOT</version>
		</dependency>

配置完成之后,項(xiàng)目可以正常啟動(dòng)。

關(guān)于項(xiàng)目打包

在父項(xiàng)目的pom文件中


	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<skipTests>true</skipTests>    <!--默認(rèn)關(guān)掉單元測(cè)試 -->
					<useSystemClassLoader>false</useSystemClassLoader>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>${java.version}</source>
					<target>${java.version}</target>
				</configuration>
			</plugin>
		</plugins>
	</build>

在fly-app 子項(xiàng)目的pom文件中

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

項(xiàng)目地址

https://github.com/XWxiaowei/fly_multi_blog


作者:碼農(nóng)飛哥

微信公眾號(hào):碼農(nóng)飛哥