项目需要,故将单个模块的项目拆分成多模块项目。
项目构建
构建父项目
首先新建一个标准的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