Intellj Idea 2022.2社区版 引入 “Spring Initialier”插件教程(社区版不能直接创建Springboot工程)
参考:
链接1 : idea.2022.3.x社区版插件“intellij-spring-assistant”_风灵Erick的博客-CSDN博客_idea社区版插件
链接2 : 阿里插件完成 IDEA社区版 创建SpringBoot|cloud项目_云巅起手撼山阿的博客-CSDN博客_ide构建springboot项目please select atleast one depende
链接3:创建Springboot项目时报错Error message: Cannot download ‘https://start.spring.io‘ 的解决办法与思路_创建springboot项目报错_woshi6666的博客-CSDN博客
1.每个子模块有自己的yml文件,可以通过${}引用其他模块yml配置的值
2.在Intellj Idea搭建父子工程时,父工程选择类型为Springboot工程,子模块类型为maven工程
创建父工程:父工程只用来管理依赖版本号和存放公共依赖
父工程的打包类型必须时pom类型,不包含src/main/java,src/test/java等类型的包(若有可删除)
父工程管理所有依赖的版本号:
<properties>
<parent.version>0.0.1-SNAPSHOT</parent.version>
<jdk.version>1.8</jdk.version>
</properties>
所以,在父工程的坐标下添加<packaging>pom</packaging>
<!--父工程坐标-->
<groupId>com.parent</groupId>
<artifactId>myparent</artifactId>
<version>${parent.version}</version>
<name>example_parent</name>
<packaging>pom</packaging>
父工程通过<dependencyManagement>管理所有依赖以及版本号,子Pom只需要引入所需要的依赖时,即在<dependencies>中传入坐标而不用关心版本号
创建子模块:
Idea中在父工程上点击右键新建子模块module,且子模块为maven工程
子模块创建好以后,子模块的pom文件中
一定引用直接继承的父模块的坐标和版本号
<!--引入父工程坐标-->
<parent>
<artifactId>myparent</artifactId>
<groupId>com.parent</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
注意,当子模块创建好以后,检查以下,在直接继承的父模块的pom文件中:
一定为<Packaging>pom</Packaging>,
一定有<modules> <module>子模块name名称</module></modules> (这个标签是Idea自动生成和更新的,表示成功在父pom中引入子module)
当父pom的<Packaging>pom</Packaging>时,父模块中不可以存在src/main/src 和 src/test/java包
子子模块间的互相引用:(坐标引用)
不同父模块,当前的子模块调用其他模块中的子模块时,应该配置以下:
在当前子模块的父pom中的<dependencies>中引入要调用的子模块的坐标及版本号
在当前子模块的启动类上添加@ComponentScan(basePackage={"调用模块的包名"==>groupId})
同一父模块下的子模块之间调用,在子模块的pom中添加另一个子模块的坐标版本号,并且引入的子模块scope必须是<scope>compile</scope>.
(ps.设置完成后如果intellj 报错,找不到调用的包,重启ide即可。)