Idea创建 Spring Boot & maven 多模块项目 &打war包部署

创建父项目

File=>New=>Project

Idea创建 Spring Boot & maven 多模块项目 &打war包部署_第1张图片

删除src文件夹和其他多余文件

删除前
Idea创建 Spring Boot & maven 多模块项目 &打war包部署_第2张图片
删除后
Idea创建 Spring Boot & maven 多模块项目 &打war包部署_第3张图片

pom文件修改

修改打包类型

pom

删除pom文件maven插件


    
        
            org.springframework.boot
            spring-boot-maven-plugin
        
    

添加子模块auth、core

File=>New=>Module

Idea创建 Spring Boot & maven 多模块项目 &打war包部署_第4张图片
Idea创建 Spring Boot & maven 多模块项目 &打war包部署_第5张图片

修改pom文件

auth和core的pom文件


    com.qcby.lxt
    mparent
    0.0.1-SNAPSHOT

父模块的pom文件


    auth
    core

修改完毕效果

添加代码测试

AuthController

Idea创建 Spring Boot & maven 多模块项目 &打war包部署_第6张图片

CoreController

Idea创建 Spring Boot & maven 多模块项目 &打war包部署_第7张图片

*启动类相关

启动类调整

直接启动auth或者core中的启动类无法,加载到其他模块的类,需调整启动类至,com.qcby.lxt包下,以auth模块为启动模块示例。
Spring Boot默认只加载和启动类同级以及子包内的Bean。

Idea创建 Spring Boot & maven 多模块项目 &打war包部署_第8张图片

pom文件修改

引用core模块


    com.qcby.lxt
    core
    0.0.1-SNAPSHOT

启动测试

http://localhost:8080/auth/hello
==============结果==========================
hello world auth!
========================================
http://localhost:8080/core/hello
===============结果=========================
hello world core!

打war包部署

修改启动类

@SpringBootApplication
public class AuthApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(AuthApplication.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(AuthApplication.class);
    }
}

删除非入口项目的启动类

eg:CoreApplication

修改pom文件

修改打包类型

war

添加跳过测试配置


    true

删除非启动模块的maven插件


    org.springframework.boot
    spring-boot-maven-plugin

maven插件打包

双击idea中maven插件父模块
Idea创建 Spring Boot & maven 多模块项目 &打war包部署_第9张图片

打包结果

[INFO] --- maven-surefire-plugin:2.21.0:test (default-test) @ mauth ---
[INFO] Tests are skipped.
[INFO] 
[INFO] --- maven-war-plugin:3.1.0:war (default-war) @ mauth ---
[INFO] Packaging webapp
[INFO] Assembling webapp [mauth] in [C:\Users\Administrator\Desktop\讲课\0417\mparent1\mauth\target\mauth-0.0.1-SNAPSHOT]
[INFO] Processing war project
[INFO] Webapp assembled in [114 msecs]
[INFO] Building war: C:\Users\Administrator\Desktop\讲课\0417\mparent1\mauth\target\mauth-0.0.1-SNAPSHOT.war
[INFO] 
[INFO] --- spring-boot-maven-plugin:2.0.5.RELEASE:repackage (default) @ mauth ---
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for mparent1 0.0.1-SNAPSHOT:
[INFO] 
[INFO] mparent1 ........................................... SUCCESS [  0.004 s]
[INFO] mcore .............................................. SUCCESS [  1.130 s]
[INFO] mauth .............................................. SUCCESS [  1.807 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.156 s
[INFO] Finished at: 2021-04-17T17:58:37+08:00
[INFO] ------------------------------------------------------------------------

源码地址

传送门:github

你可能感兴趣的:(Maven,#,Spring,Boot,maven,spring,boot,maven多模块,war,idea)