前言
说起IntelliJ IDEA 可谓是作为一名开发者必须知道的神器了,便捷高效,但不知道是升级了新的Idea软件,还是网络不通畅缘故,笔者这两天老遇到一个创建超时的问题。
用 IDEA 创建 Spring Boot项目时总是失败,搞得我很郁闷,所以诞生了这篇小技巧文章!本文给出几种创建Spring Boot项目的解决或备选方案,让你再也不用创建不了Spring Boot项目而骂 IDEA了。
接下来,好戏开场了~
1.idea原生方式创建
用过 IDEA企业版 的都知道,在新建项目时候,创建地址直接是用默认的 https://start.spring.io,但同时,它也是最容易失败的一个,最主要原因是他是个国外网站,所以你懂得,这网站访问起来并不太稳定。
如图:
如果你是用的 IDEA 社区版,则用这个插件:
2.阿里云方式创建
打开https://start.spring.io你会发现,是个用来生成的springboot项目结构的在线工具,按照国内传统,自然出现了类似的网站。比如,阿里巴巴就搞了一个:https://start.aliyun.com,所以,我们在构建项目时,选择下面那个,填入: https://start.aliyun.com 即可,如图:
但是用这个地址的,需注意:
- 项目版本更新慢,目前 Spring Boot 最新稳定版是 2.4.5,但是这里只能选择到 2.4.1版。
- 项目构建成功后,pom文件中没有 parent标签,是通过自定义 dependenceManagement 标签来统一处理版本问题,所以创建完了需要再 手动调整下项目结构 。
3.Spring Boot 中文社区方式创建
除了阿里云之外,国内还要一个跟 https://start.spring.io 类似的网站——Spring Boot 中文社区的 https://start.springboot.io, 这个是国内网站,访问速度还是可以的。目前创建成功率很高。
使用它,两种方式。
第一种:直接打开该 在线网站,然后填写项目信息,点击generate,就会自动下载了:
如图:
第二种:在IDEA中,填写他的网站地址,再创建。
如图:
这个总体来说还是不错的。
4.maven项目的方式创建
上述方案都是基于Spring Boot结构而出发的,如果都不行了,那么还可以用这个方案。这方案,目前很多仍然再用eclipse的朋友,应该熟悉。
早期使用过 Maven 的朋友不难看出,Spring Boot 项目结构跟 Maven项目类似 ,所以我们可以通过先 创建 Maven工程,再手动经过添加依赖,新建启动类,添加注解,添加配置文件等方式 改造为Spring Boot 项目,照样可以。
具体步骤:
4.1.创建maven项目
可以用idea或eclipse等其他编辑器创建maven项目。
然后输入GroupId包名与ArtifactId项目名,Version版本号等信息,点击finished,完成Maven项目的创建。
4.2.改造maven项目
A.首先在pom.xml用 parent 标签来配置 父依赖
,用于继承
指定spring-boot的版本。(当然如果你不想使用parent,那就用dependencyManagement来声明也行)
<!--指定springboot版本-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.4</version>
</parent>
图示:
只需要在这里指定Spring Boot的版本号。如果导入其他spring boot的starters组件,你可以完全省略版本号。
B.然后再加入spring-boot-web依赖包(毕竟是个BS架构),而且可以 不写版本号 。
<!--引入web依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
注:添加后请import下maven。
C.然后新建启动类,开启启动注解
新建一个java类:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ApplicationStart {
public static void main(String[] args) {
SpringApplication.run(ApplicationStart.class,args);
System.out.println("SpringBoot项目启动了...");
}
}
运行springboot项目。控制台看到 start on port xxxx 的字样表明启动成功了:
这样,一个由Maven改造的SpringBoot项目就完成了,可以愉快的敲代码了。
小知识
用Spring Initializr 创建项目时,其pom.xml文件中默认会带有两个模块:
<!--默认创建的两个核心模块-可以不添加-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
作用是:
- spring-boot-starter:核心模块,包括自动配置支持、日志和YAML;
- spring-boot-starter-test:测试模块,包括JUnit、Hamcrest、Mockito。
其中,当你引入springboot-web依赖后,核心模块可以去掉,因为已经包含:
上述的几种方案就足以解决创建Spring Boot项目超时失败问题,还顺便说了下Maven改SpringBoot项目的步骤。