springmvc源码下载_web系统源码下载

2022-09-22 19:33:51 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

Spring源码下载

注意:Spring源码使用的是Gradle,而不是Maven。因此下载Spring源码之前可以先安装Gradle,注意安装的gradle版本与spring源码中gradle-wrapper.properties文件中指定的gradle版本一致。参考:Gradle的下载、安装和配置环境。 Spring源码gitee地址:https://gitee.com/mirrors/Spring-Framework。 Spring源码gitee仓库地址:

代码语言:javascript复制
https://gitee.com/mirrors/Spring-Framework.git

Spring源码github地址:https://github.com/spring-projects/spring-framework。 Spring源码github仓库地址:

代码语言:javascript复制
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配置文件

代码语言:javascript复制
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配置文件

代码语言:javascript复制
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存放的位置。一般不做修改。

代码语言:javascript复制
#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包找不到的问题。

代码语言:javascript复制
Errors occurred while build effective model from D:worktoolsGradlegradle_repositorycachesmodules-2files-2.1com.alibabadruid1.2.6c57198d77a31adf5bd36d35f9b12dc936b732587druid-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

解决方案一: 根据报错信息中给出的路径找到文件,将文件中的依赖注释掉

代码语言:javascript复制
<!--找不到以下两个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中的路径修改为绝对路径即可。

代码语言:javascript复制
<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、编译时可能出现的警告

编译时可能会有以下警告。

代码语言:javascript复制
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的勾选去掉,警告就没有了。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170016.html原文链接:https://javaforall.cn

0 人点赞