添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
淡定的槟榔  ·  HTTP error 403.7 when ...·  2 月前    · 
近视的花卷  ·  react 读取本地json-掘金·  1 年前    · 
< parent > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-parent </ artifactId > < version > 2.2.4.RELEASE </ version > < relativePath /> <!-- lookup parent from repository --> </ parent > <!-- 创建时填写的基本信息--> < groupId > com.ybj </ groupId > < artifactId > my-app </ artifactId > < version > 0.0.1-SNAPSHOT </ version > < name > my-app </ name > < description > springboot多项目 </ description > <!-- 父类的packing只能是pom--> < packaging > pom </ packaging > <!-- 子类直接继承--> < dependencies > <!-- 子类需要在pom中 手动加入依赖(version不用写)--> < dependencyManagement >
  • modules标签 这个标签管理的是被聚合的模块 当新建子模块时,modules会自动添加单个的module标签
  • 父模块启动类,是整个模块的启动类 所有的请求都走父模块的端口 为了使子模块的服务也能启动,需要在父模块启动类上加入注解

    @ComponentScan(basePackages = {"com.ybj.*",})
    复制代码

    2.子模块

    1.创建子模块

    选择Module

    选择maven项目 输入具体信息

    2.pom

  • packaging标签 这里可以选择jar或者war 指定打包方式
  • parent 子类pom中的parent自动指向了父类的GAV 子类会自动引入父类pom中 dependencies 的中依赖项
  • <!--    父类:自动选择了父类-->
        <parent>
            <artifactId>my-app</artifactId>
            <groupId>com.ybj</groupId>
            <version>0.0.1-SNAPSHOT</version>
        </parent>
    

    模块间依赖 需要依赖某个模块,可以在pom中声明 这里的依赖是从本地仓库下载的,不是远程仓库

    Maven Helper插件 在idea中安装maven helper插件 点击pom文件,选择 Dependency Analyzer

    即可查看并搜索依赖项,这对于解决依赖冲突很有帮助

    方式1:聚合模块直接打包

    在聚合模块打包,会自动计算依赖顺序,依次打包

    依次执行 clean 与 install maven会自动计算构建顺序

    方式2:使用插件

    方式1的问题就是耗费时间长, 因为是全部打包, 所以就需要实现单个模块打包 这里需要借助spring-boot-maven-plugin插件

    <build>
    	<plugins>
    		<plugin>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-maven-plugin</artifactId>
    			<version>2.3.0.RELEASE</version>
    			<executions>
    				<execution>
    					<goals>
    						<goal>repackage</goal>
    					</goals>
    				</execution>
    			</executions>
    		</plugin>
    	</plugins>
    </build>
    复制代码

    5. 常见问题

    因为子类会继承父类的依赖项,所以可能 导致依赖冲突,从而使项目无法启动。 这里可以使用maven helper插件进行冲突的排查