日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring:Spring源码下载、保存、编译

發布時間:2023/12/10 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring:Spring源码下载、保存、编译 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Spring源碼下載、保存、編譯

  • Spring源碼下載
  • Spring源碼保存gitee倉庫
    • 1、需改遠程倉庫地址
    • 2、將Spring源碼推送到自己倉庫
  • Spring源碼編譯
    • 1、新增下載源地址
    • 2、修改gradle版本
  • 源碼編譯時遇到的問題
    • 1、找不到jar包的問題
    • 2、JDK版本不對應的問題
    • 3、編譯時可能出現的警告

Spring源碼下載

注意:Spring源碼使用的是Gradle,而不是Maven。因此下載Spring源碼之前可以先安裝Gradle,注意安裝的gradle版本與spring源碼中gradle-wrapper.properties文件中指定的gradle版本一致。參考:Gradle的下載、安裝和配置環境。
Spring源碼gitee地址:https://gitee.com/mirrors/Spring-Framework。
Spring源碼gitee倉庫地址:

https://gitee.com/mirrors/Spring-Framework.git

Spring源碼github地址:https://github.com/spring-projects/spring-framework。
Spring源碼github倉庫地址:

https://github.com/spring-projects/spring-framework.git

從遠程倉庫下載項目的流程,參考:idea下載git倉庫中的項目

Spring源碼保存gitee倉庫

將下載的Spring源碼保存到自己的gitee倉庫中方便源碼學習過程中對源碼注釋提交到gitee倉庫。也可以保存調試Spring源碼的測試代碼。
gtiee個人倉庫的創建參考:將本地項目提交到Gitee遠程倉庫。

1、需改遠程倉庫地址

選中Git中的Repository中的Remotes

將git倉庫地址從Spring源碼地址修改為自己的git倉庫地址

2、將Spring源碼推送到自己倉庫

將spring源碼推送到自己的遠程倉庫

Spring源碼編譯

1、新增下載源地址

在settings.gradle和build.gradle兩個配置文件中新增阿里云倉庫地址。
settings.gradle配置文件

repositories {//spring源碼中已有的配置gradlePluginPortal()//新增的阿里云倉庫地址的配置maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }//新增的阿里云倉庫地址的配置maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }//spring源碼中已有的配置maven { url "https://repo.spring.io/plugins-release" }}

build.gradle配置文件

repositories {//新增的阿里云倉庫地址的配置maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }//新增的阿里云倉庫地址的配置maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }//spring源碼中已有的配置mavenCentral()//spring源碼中已有的配置maven { url "https://repo.spring.io/libs-spring-framework-build" } }

2、修改gradle版本

修改gradle-wrapper.properties配置文件中的配置,可以修改gradle的版本和下載的gradle存放的位置。一般不做修改。

#distributionBase和distributionPath組合在一起,是gradle壓縮包解壓后的文件的存放位置。 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists #使用哪個版本的gradle,就在這里修改。gradle-##-all.zip是二進制版,只包含二進制文件(可執行文件) distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip #zipStoreBase和zipStorePath組合在一起,是下載的gradle的壓縮包的存放位置 #環境變量GRADLE_USER_HOME的值 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists#gradle-##-all.zip是完整版,包含二進制文件、源代碼文件和離線文檔 #指定gradle的版本為本地存儲的版本。 #distributionUrl=file:///D:/worktools/Gradle/gradle-7.2-all.zip #將gradle-7.2-all.zip壓縮包放到wrapper目錄下。 #distributionUrl=gradle-7.2-all.zip

如果不想根據指定的路徑去下載gradle。可以修改distributionUrl的值。
如果將gradle-7.2-all.zip壓縮包與gradle-wrapper.properties配置文件放到同一目錄下,那么直接指定distributionUrl=gradle-7.2-all.zip。弊端是:壓縮包超過100M,無法推送到gitee上。
如果是指定本地存儲的gradle,那么可以指定distributionUrl=file:///D:/worktools/Gradle/gradle-7.2-all.zip。弊端是:每個人本地存儲路徑不同。協作開發時,每個人都需要更改配置文件。

源碼編譯時遇到的問題

1、找不到jar包的問題

編譯時,可以編譯成功,但是會有jar包找不到的問題。

Errors occurred while build effective model from D:\worktools\Gradle\gradle_repository\caches\modules-2\files-2.1\com.alibaba\druid\1.2.6\c57198d77a31adf5bd36d35f9b12dc936b732587\druid-1.2.6.pom:'dependencies.dependency.systemPath' for com.sun:tools:jar must specify an absolute path but is ${project.basedir}/lib/openjdk-1.8-tools.jar in com.alibaba:druid:1.2.6'dependencies.dependency.systemPath' for com.sun:jconsole:jar must specify an absolute path but is ${project.basedir}/lib/openjdk-1.8-jconsole.jar in com.alibaba:druid:1.2.6

解決方案一:
根據報錯信息中給出的路徑找到文件,將文件中的依賴注釋掉

<!--找不到以下兩個jar包,將jar包的引入注釋掉 <dependency><groupId>com.sun</groupId><artifactId>tools</artifactId><version>1.8</version><scope>system</scope><systemPath>${project.basedir}/lib/openjdk-1.8-tools.jar</systemPath> </dependency><dependency><groupId>com.sun</groupId><artifactId>jconsole</artifactId><version>1.8</version><scope>system</scope><systemPath>${project.basedir}/lib/openjdk-1.8-jconsole.jar</systemPath> </dependency> -->

解決方案二:
根據錯誤信息中給出的缺少的jar包,如果本地有這個jar包,那么將systemPath中的路徑修改為絕對路徑即可。

<dependency><groupId>com.sun</groupId><artifactId>tools</artifactId><version>1.8</version><scope>system</scope><!--將jar包路徑修改為絕對路徑--><systemPath>D:/worktools/jdk/jdk-11.0.11/lib/openjdk-1.8-tools.jar</systemPath> </dependency><dependency><groupId>com.sun</groupId><artifactId>jconsole</artifactId><version>1.8</version><scope>system</scope><!--將jar包路徑修改為絕對路徑--><systemPath>D:/worktools/jdk/jdk-11.0.11/lib/openjdk-1.8-jconsole.jar</systemPath> </dependency>

如果本地沒有提示中缺少的jar包,如果必須使用該jar包,那么需要尋找jar包資源,將然后將存放jar的絕對路徑寫到配置文件中。如果不適用jar包中的內容,那么可以創建一個txt文件,命名為jar缺失的jar包名稱,將后綴改為.jar,同樣需要將jar包的絕對路徑寫到配置文件中。

2、JDK版本不對應的問題

本地配置的Java的環境變量的JDK版本要與spring源碼要求的版本對應。不然會有一下錯誤:無效的源發行版:17。

我現在的最新的spring源碼,使用的是jdk17。
在編譯之前查看spring要求的JDK版本:查看Spring編譯要使用的JDK。
注意:要修改Java的環境變量中的jdk版本,只修改項目使用JDK是無效的。

3、編譯時可能出現的警告

編譯時可能會有以下警告。

Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended

在Settings中搜過async,然后將Instrumenting agent的勾選去掉,警告就沒有了。

總結

以上是生活随笔為你收集整理的Spring:Spring源码下载、保存、编译的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。