关于IDEA的Spring boot项目创建慢,Maven插件加载慢,依赖导入慢或者失败的原因及解决方案

时间:2024-10-20 18:02:13

1. 创建spring initializr的时候告诉你连接超时,IDEA Initialization error

'' 弹出一个error窗口 ,不能连接

2.加载Maven插件的时候特别慢,有时候要花好几分钟才能加载完成

文件中引入的依赖爆红,引入依赖失败

第一个问题的原因是:因为访问的是国外网站,有时候访问就会不稳定,出现超时的现象

解决方案:选择自定义用国内香港的网址:   或者用阿里的仓库地址:/ 即可

第二个问题的原因:同样是因为网络不好!!!同样上新的网址:

打开Maven中的输入阿里地址

<mirrors>
    <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
</mirrors>
                    

 第三个问题的原因还是网络原因,国外下载依赖的仓库访问超时导致的,所以还是用过来的仓库(阿里云中心仓库)地址:

<repositories>
        <repository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>/repository/public</url>
        </repository>
    </repositories>

创建spring initializr还有一个解决办法就是创建自己的spring initializr

方法如下:

1.拉取代码/spring-io/

用IDEA打开:

下载完之后可以使用idea打开:
项目结构如下:

项目结构.png

说明:

  1. 如果不需要使用网页创建项目的话,前端是不需要的
  2. 后端启动就完全能支持IDE的使用。

配置文件说明

配置java版本:

initializr:
   javaVersions:
    - id: 14 
      default: false
    - id: 11
      default: false
    - id: 1.8
      name: 8
      default: true #默认创建的maven项目是1.8

配置maven打包的方式:

initializr:
    packagings:
        - name: Jar
          id: jar
          default: true # 默认是jar包
        - name: War
          id: war
          default: false

配置springboot版本:

initializr:
    bootVersions:
        - name : Latest SNAPSHOT #版本名称
          id: 2.2.-SNAPSHOT # 具体版本号
          default: false 
        - name : 2.1.1. 
          id: 2.1. 
          default: true  # 是否是默认的

配置默认的groupId,artifactId,name,description,versionpackageName.

initializr:
  group-id:
    value: 
  artifact-id:
    value: my-app

配置maven项目的结构:

initializr:
  types:
    - name: Maven Project
      id: maven-project # 如果是maven project,生成的项目会有main,resource等目录结构
      description: Generate a Maven based project archive.
      tags:
        build: maven
        format: project
      default: true
      action: /
    - name: Maven POM
      id: maven-build  # 如果是maven pom,生成的项目不会有main,resource等目录结构,只有一个pom文件
      description: Generate a Maven .
      tags:
        build: maven
        format: build
      default: false
      action: /
    - name: Gradle Project
      id: gradle-project
      description: Generate a Gradle based project archive.
      tags:
        build: gradle
        format: project
      default: false
      action: /
    - name: Gradle Config
      id: gradle-build
      description: Generate a Gradle build file.
      tags:
        build: gradle
        format: build
      default: false

配置依赖:

initializr:
    dependencies:
        - name: XinfengWei Dependencies # 配置依赖的一级分类
          content:
            - name: Fast Json Util # 配置依赖的二级分类,这里配置的是具体依赖,一级分类下有多个就配置多个
              id: fast-json-util 
              groupId:  
              artifactId: fastJsonUtil
              scope: runtime  # 配置依赖的scope
              description: XinFengWei FastJson Utils # 依赖的描述
              starter: false     #是否是starter
              version: 1.2.3-RELEASE  # 指定依赖的版本
              links:  # 配置连接
                - rel: reference 
                  href: /spring-boot/docs/{bootVersion}/reference/htmlsingle/#using-boot-devtools
            - name: Fast Json Util # 配置依赖的二级分类,这里配置的是具体依赖
              id: fast-json-util
              groupId: 
              artifactId: fastJsonUtil
              scope: runtime
              description: XinFengWei FastJson Utils
              starter: false
              version: 1.2.3-RELEASE # 指定依赖的版本
              links:
                - rel: reference
                  href: /spring-boot/docs/{bootVersion}/reference/htmlsingle/#using-boot-devtools

配置完后启动项目

server:
    port: 8080

使用StartApplication启动项目:

启动项目.png

看到控制台大致有下面的信息就启动成功了

启动成功.png

使用自己的spring-initializr创建项目:

win10 IDEA ---->File ----->New ----->Project:

点击next:

创建项目

这里,你能选择配置的Java版本,maven package类型、语言、制定项目groupid,artifactId、maven项目结构等

继续next:

创建项目

点击next后指定项目的名称和项目储存地址创建完成。

创建项目

遵从以上的搭建和测试步骤,你就能成功搭建和定制自己的spring initializr服务了

注意点:

  1. 以上方式只是初步的完成添加团队依赖,配置语言,java版本,springboot版本。若想要更完善的功能请按照官方文档一步步的说明
  2. 搭建服务启动后,第一次创建服务很慢,因为涉及到文件io,文件结构解析,而且未加入缓存。但是第二次使用服务就快了

参考文档:

大致原理性的参考文档:
/DerekSu/article/details/107151431
官方创建实例参考文档:
/initializr/docs/current-SNAPSHOT/reference/html/