利用IDEA创建maven多模块项目(web模块采用springboot)
项目需要,故将单个模块的项目拆分成多模块项目。
项目构建
构建父项目
首先新建一个标准的maven项目(不要勾选Create from archetype)
然后输入GroupId和ArtifactId。
新建完成之后删除src
文件夹。因为父项目必须要实现具体的代码。只需要协调各子module之间的关系。
增加fly-service子项目
增加fly-app子项目(SpringBoot项目)
修改POM文件
修改父项目的pom文件,关键代码如下:
<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>
在两个子项目的pom文件中就要指定其parent,如fly-app子项目中
<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>
这里最核心的是指定父子项目的关系,子项目之间的引用,如fly-app
子项目依赖了fly-service项目,所以,我们需要在fly-app中增加service的依赖
<dependency>
<groupId>com.jay</groupId>
<artifactId>fly-service</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
配置完成之后,项目可以正常启动。
关于项目打包
在父项目的pom文件中
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>true</skipTests> <!--默认关掉单元测试 --> <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 子项目的pom文件中
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
项目地址
https://github.com/XWxiaowei/fly_multi_blog
作者:码农飞哥
微信公众号:码农飞哥