springboot多模組
阿新 • • 發佈:2020-12-14
專案的基本結構
其中 blog-core
是核心模組 blog-tool
是工具模組 blog-api
是前端專案 blog-admin
是後臺專案
首先父pom檔案
<groupId>com.yf</groupId> <artifactId>zfanblog</artifactId> <version>Z-0.0.1</version> <name>zfanblog</name> <packaging>pom</packaging><!-- 注意:修改jar為pom --> <description>zfan.top blog</description> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <!--引入子模組--> <modules> <module>blog-core</module> <module>blog-api</module> <module>blog-admin-api-82</module> </modules> <!--專案依賴,子pom檔案會繼承父pom的依賴--> <dependencies> ... </dependencies>
** 在Springboot 多模組專案中,不要在父pom檔案和其他沒有啟動類的專案中配置 build
標籤。只在需要的子專案的pom檔案中配置(一般是web專案)**
在
blog-core
中的pom檔案
<!-- 過濾xml檔案--> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**.*</include> <include>**/*.*</include><!-- i18n能讀取到 --> <include>**/*/*.*</include> </includes> <filtering>false</filtering> </resource>
所有的子模組中pom 父依賴改為 如下
在可以啟動的web模組的pom檔案中都打包成war包,核心模組打包成jar就可
<parent> <groupId>com.yf</groupId> <artifactId>zfanblog</artifactId> <version>Z-0.0.1</version> </parent> <plugin> <executions> <execution> <goals> <goal>repackage</goal><!--可以把依賴的包都打包到生成的Jar包中--> </goals> </execution> </executions> </plugin> <!--在war包的pom檔案中需要移除tomcat--> <!-- tomcat 部署需要--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
springboot多模組包掃描問題
需要在啟動模組的application啟動類中加入
一個為依賴的核心模組的包,一個為本模組的包 scanBasePackages屬性顯示指定要掃描的包的範圍。 @SpringBootApplication(scanBasePackages = { "com.yf.blogcore","com.yf.blogapi" })
掃描的mapper檔案 @MapperScan({"com.yf.blogcore.mapper","com.yf.blogcore.mapper.xml"})
spring boot 用 spring.profiles.active來解決多個profile的問題
spring.profiles.active=core
這個 core
是核心模組中的 application-core.properties , spring.profiles.active只需application-
後邊的值
到這裡你就可以啟動成功了...可以部署tomcat中
本文由部落格群發一文多發等運營工具平臺 OpenWrite 釋出