当前位置:   article > 正文

06. 基于Gradle搭建Spring环境_at org.jetbrains.plugins.gradle.model.projectimpor

at org.jetbrains.plugins.gradle.model.projectimportaction.execute(projectimp

目录

06 基于Gradle搭建Spring环境

Pt1 资源准备

Pt1.1 安装Gradle

Pt1.2 IDEA配置

Pt1.3 导入源码

Pt2 构建源码

Pt2.1 Gradle Build

Pt2.2 Idea Build Project

Pt3 验证

Pt4 采坑分享

Pt4.1 IDEA和Gradle版本不匹配

Pt4.2 多余的插件

Pt4.3 程序包jdk.jfr不存在


06 基于Gradle搭建Spring环境

Pt1 资源准备

  • IntelliJ IDEA 2020.3.2 (Ultimate Edition)

  • Java version "11.0.10" 2021-01-19 LTS

  • Gradle 6.5

  • Spring 5.3.0-SNAPSHOT

 


Pt1.1 安装Gradle

(1) 下载Gradle

官网:https://gradle.org/releases/

推荐使用gradle4以上的版本,否则不知道是否会有别的兼容性问题。我这边是按照Spring5源码gradle-wrapper.properties中依赖的gradle,选了个相近的版本,gradle-6.5。

 

(2) 配置环境变量

gradle安装比较简单,将gradle目录配置到环境变量即可。

 

(3) 检测gradle环境

通过gradle -v 检测gradle是否正确安装。

  1.  C:\Users\tracy.chen>gradle -v
  2.  ------------------------------------------------------------
  3.  Gradle 6.5
  4.  ------------------------------------------------------------
  5.  ​
  6.  Build time:   2020-06-02 20:46:21 UTC
  7.  Revision:     a27f41e4ae5e8a41ab9b19f8dd6d86d7b384dad4
  8.  ​
  9.  Kotlin:       1.3.72
  10.  Groovy:       2.5.11
  11.  Ant:         Apache Ant(TM) version 1.10.7 compiled on September 1 2019
  12.  JVM:          1.8.0_92 (Oracle Corporation 25.92-b14)
  13.  OS:           Windows 10 10.0 amd64

 


Pt1.2 IDEA配置

 

 


Pt1.3 导入源码

(1) Idea中选择[File]-[New]-[Project from Existing Sources],将源码导入IDEA;

 

(2) 添加阿里云镜像仓库

默认使用的是spring的仓库,由于网络限制,建议再build.gradle中配置国内的阿里提供的镜像仓库下载,下载速度会快很多。

  1.  repositories {
  2.   mavenCentral()
  3.   maven { url "https://repo.spring.io/libs-spring-framework-build" }
  4.   maven { url "https://oss.jfrog.org/artifactory/oss-snapshot-local" }
  5.   maven {url 'https://maven.aliyun.com/nexus/content/groups/public/'} // 加上阿里云仓库
  6.   maven {url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'} // 加上阿里云仓库
  7.  }

 

(3) 修改依赖的gradle版本

gradle-wrapper.properties中描述了依赖的gradle版本,如果跟本地不一致,建议修改成一致的,防止出现意外的兼容性问题。

同时,如果本地安装的Gradle版本和Spring源码中依赖的版本相差太多,也建议本地升级到差不多的版本,防止出现意外的兼容性问题。

 distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip

 

(4) 注释enterprise依赖

将io.spring.gradle-enterprise-conventions这个插件注释掉,否则编译阶段可能会报错。

这行代码可能在build.gradle文件中,也可能在settings.gradle文件中,我的是在settings.gradle中。

 //id "io.spring.gradle-enterprise-conventions" version "0.0.2"

 


Pt2 构建源码

Pt2.1 Gradle Build

使用gradle进行编译,我这边大概花了2个小时才完成编译,要下载大量的jar,最后当你看到BUILD SUCCESSFUL的时候,恭喜你终于成功了。

  1.  > Task :buildSrc:compileJava UP-TO-DATE
  2.  > Task :buildSrc:compileGroovy NO-SOURCE
  3.  > Task :buildSrc:pluginDescriptors UP-TO-DATE
  4.  > Task :buildSrc:processResources UP-TO-DATE
  5.  > Task :buildSrc:classes UP-TO-DATE
  6.  > Task :buildSrc:jar UP-TO-DATE
  7.  > Task :buildSrc:generateSourceRoots UP-TO-DATE
  8.  > Task :buildSrc:assemble UP-TO-DATE
  9.  > Task :buildSrc:pluginUnderTestMetadata UP-TO-DATE
  10.  > Task :buildSrc:compileTestJava NO-SOURCE
  11.  > Task :buildSrc:compileTestGroovy NO-SOURCE
  12.  > Task :buildSrc:processTestResources NO-SOURCE
  13.  > Task :buildSrc:testClasses UP-TO-DATE
  14.  > Task :buildSrc:test SKIPPED
  15.  > Task :buildSrc:validatePlugins UP-TO-DATE
  16.  > Task :buildSrc:check SKIPPED
  17.  > Task :buildSrc:build UP-TO-DATE
  18.  ​
  19.  Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
  20.  Use '--warning-mode all' to show the individual deprecation warnings.
  21.  See https://docs.gradle.org/6.5/userguide/command_line_interface.html#sec:command_line_warnings
  22.  ​
  23.  BUILD SUCCESSFUL in 44s
  24.  ​
  25.  BUILD SUCCESSFUL in 374ms

 


Pt2.2 Idea Build Project

(1) 选择IDEA - [Build Project]

如果直接编译成功,恭喜你,绝对哪里不正常。

如果出现[Kotlin: warnings found and -Werror specified]这个错误,那说明你基本上快搞定了。

 

(2) 编译spring-core

  • 打开IDEA右侧Gradle标签页,双击[spring-core]-[Tasks]-[other]-[cglibRepackJar],看到[BUILD SUCCESSFUL]才说明成功;

  • 然后双击[spring-core]-[other]-[objenesisRepackJar],直到[BUILD SUCCESSFUL];

  • 然后双击[spring-core]-[other]-[compileTestJava],直到[BUILD SUCCESSFUL];

  • 最后双击[spring-core]-[build]-[build],直到[BUILD SUCCESSFUL];

 

(3) 编译spring-framework

双击[spring]-[Tasks]-[build]-[build]进行编译,看到Build成功。

  1.  13:24:56: Executing task 'build'...
  2.  ​
  3.  > Task :buildSrc:compileJava UP-TO-DATE
  4.  > Task :buildSrc:compileGroovy NO-SOURCE
  5.  > Task :buildSrc:pluginDescriptors UP-TO-DATE
  6.  > Task :buildSrc:processResources UP-TO-DATE
  7.  > Task :buildSrc:classes UP-TO-DATE
  8.  > Task :buildSrc:jar UP-TO-DATE
  9.  > Task :buildSrc:assemble UP-TO-DATE
  10.  > Task :buildSrc:pluginUnderTestMetadata UP-TO-DATE
  11.  > Task :buildSrc:compileTestJava NO-SOURCE
  12.  > Task :buildSrc:compileTestGroovy NO-SOURCE
  13.  > Task :buildSrc:processTestResources NO-SOURCE
  14.  > Task :buildSrc:testClasses UP-TO-DATE
  15.  > Task :buildSrc:test NO-SOURCE
  16.  > Task :buildSrc:validatePlugins UP-TO-DATE
  17.  > Task :buildSrc:check UP-TO-DATE
  18.  > Task :buildSrc:build UP-TO-DATE
  19.  > Task :framework-bom:assemble UP-TO-DATE
  20.  > Task :integration-tests:compileJava NO-SOURCE
  21.  > Task :framework-bom:check UP-TO-DATE
  22.  > Task :framework-bom:build UP-TO-DATE
  23.  > Task :integration-tests:processResources NO-SOURCE
  24.  > Task :integration-tests:classes UP-TO-DATE
  25.  > Task :compileKotlin NO-SOURCE
  26.  > Task :spring-core:cglibRepackJar UP-TO-DATE
  27.  > Task :compileJava NO-SOURCE
  28.  > Task :compileGroovy NO-SOURCE
  29.  > Task :processResources NO-SOURCE
  30.  > Task :classes UP-TO-DATE
  31.  > Task :inspectClassesForKotlinIC UP-TO-DATE
  32.  > Task :spring-core:objenesisRepackJar UP-TO-DATE
  33.  > Task :jar UP-TO-DATE
  34.  > Task :assemble UP-TO-DATE
  35.  > Task :checkstyleMain NO-SOURCE
  36.  > Task :integration-tests:jar UP-TO-DATE
  37.  > Task :integration-tests:assemble UP-TO-DATE
  38.  > Task :integration-tests:checkstyleMain NO-SOURCE
  39.  > Task :integration-tests:compileTestFixturesJava NO-SOURCE
  40.  > Task :spring-core:processResources UP-TO-DATE
  41.  > Task :spring-beans:processResources UP-TO-DATE
  42.  > Task :spring-aop:processResources UP-TO-DATE
  43.  > Task :spring-expression:processResources UP-TO-DATE
  44.  > Task :spring-jcl:compileJava UP-TO-DATE
  45.  > Task :spring-jcl:processResources UP-TO-DATE
  46.  > Task :spring-jcl:classes UP-TO-DATE
  47.  > Task :kotlin-coroutines:compileKotlin UP-TO-DATE
  48.  > Task :spring-jcl:jar UP-TO-DATE
  49.  > Task :kotlin-coroutines:compileJava NO-SOURCE
  50.  > Task :kotlin-coroutines:processResources NO-SOURCE
  51.  > Task :kotlin-coroutines:classes UP-TO-DATE
  52.  > Task :kotlin-coroutines:inspectClassesForKotlinIC UP-TO-DATE
  53.  > Task :kotlin-coroutines:jar UP-TO-DATE
  54.  > Task :spring-context:processResources UP-TO-DATE
  55.  > Task :spring-instrument:compileJava UP-TO-DATE
  56.  > Task :spring-instrument:processResources NO-SOURCE
  57.  > Task :spring-instrument:classes UP-TO-DATE
  58.  > Task :spring-tx:processResources UP-TO-DATE
  59.  > Task :spring-instrument:jar UP-TO-DATE
  60.  > Task :spring-oxm:processResources UP-TO-DATE
  61.  > Task :spring-jdbc:processResources UP-TO-DATE
  62.  > Task :spring-orm:processResources NO-SOURCE
  63.  > Task :spring-context-support:processResources UP-TO-DATE
  64.  > Task :spring-web:processResources UP-TO-DATE
  65.  > Task :spring-webmvc:processResources UP-TO-DATE
  66.  > Task :spring-messaging:processResources NO-SOURCE
  67.  > Task :spring-websocket:processResources UP-TO-DATE
  68.  > Task :spring-webflux:processResources UP-TO-DATE
  69.  > Task :spring-test:processResources UP-TO-DATE
  70.  > Task :spring-aop:processTestFixturesResources NO-SOURCE
  71.  > Task :spring-beans:processTestFixturesResources NO-SOURCE
  72.  > Task :spring-tx:processTestFixturesResources NO-SOURCE
  73.  > Task :kotlin-coroutines:assemble UP-TO-DATE
  74.  > Task :integration-tests:processTestResources UP-TO-DATE
  75.  > Task :integration-tests:processTestFixturesResources NO-SOURCE
  76.  > Task :integration-tests:testFixturesClasses UP-TO-DATE
  77.  > Task :integration-tests:checkstyleTestFixtures NO-SOURCE
  78.  > Task :kotlin-coroutines:checkstyleMain NO-SOURCE
  79.  > Task :kotlin-coroutines:compileTestFixturesKotlin NO-SOURCE
  80.  > Task :kotlin-coroutines:compileTestFixturesJava NO-SOURCE
  81.  > Task :kotlin-coroutines:compileTestKotlin NO-SOURCE
  82.  > Task :integration-tests:testFixturesJar UP-TO-DATE
  83.  > Task :kotlin-coroutines:compileTestJava NO-SOURCE
  84.  > Task :kotlin-coroutines:processTestResources NO-SOURCE
  85.  > Task :kotlin-coroutines:testClasses UP-TO-DATE
  86.  > Task :kotlin-coroutines:checkstyleTest NO-SOURCE
  87.  > Task :kotlin-coroutines:processTestFixturesResources NO-SOURCE
  88.  > Task :kotlin-coroutines:testFixturesClasses UP-TO-DATE
  89.  > Task :spring-aop:processTestResources UP-TO-DATE
  90.  > Task :spring-aop:processJmhResources NO-SOURCE
  91.  > Task :kotlin-corout
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/305809
推荐阅读
相关标签
  

闽ICP备14008679号