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

springmvc源码下载_web系统源码下载Spring源码下载、编译Spring源码下载Spring源码编译1、新增下载源地址2、修改依赖地址三级目录Spring源码下载注意:Spring源码使用的是Gradle,而不是Maven。因此下载Spring源码之前可以先安装Gradle,参考:Gradle的下载、安装和配置环境。Spring源码gitee地址:https://gitee.com/mirrors/Spring-Framework。Spring源码gitee仓库地址:https://gitee.com/mirrors/Spring

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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的勾选去掉,警告就没有了。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • windows下安装docker_bindService

    windows下安装docker_bindService1、下载BINDhttp://ftp.isc.org/isc/bind9/9.4.3/BIND9.4.3.zip2、安装下载回来是zip的压缩包,解压以后直接双击BINDInstall.exe安装,默认安装路径是C:\WINDOWS\system32\dns。bind在win32下将自己注册成服务,服务名叫ISCBIND,程序名为named.exe,启动服务需要用一专有帐户,默认名称为named,密码由安装者自定义。点击install以后,程序便安装在C:\WINDOWS\system32\dns

    2022年10月30日
  • kindeditorasp配置_php配置详解

    kindeditorasp配置_php配置详解KindEditor工具栏配置:第一种:打开KindEditor目录下的kindeditor.js文件,搜索items:,可以看到所有的工具栏按钮都在这里定义成一个数组。删除你不需要的按钮即可,不过这样的操作将影响所有调用该编辑器的页面。第二种:如果在create方法内尚未对其items进行任何指定,那么就会默认继承kindeditor.js内的items的配置,也就是全部菜单。当我们在cr…

    2022年10月12日
  • leetcode, LC5: insertion-sort-list[通俗易懂]

    leetcode, LC5: insertion-sort-list[通俗易懂]题目描述使用插入排序对链表进行排序。Sortalinkedlistusinginsertionsort.示例1输入{3,2,4}输出{2,3,4}解题思路new一个新的ListNode作为选择排序好的链表的表头对于原始链表中的每一个结点2.1.寻找新链表中该结点的插入位置2.2插入该结点返回新链表代码实现/***structListNode{* intval;* structListNode*next;

    2022年7月24日
  • 多尺度空间概念_人文地理学空间和尺度概念

    多尺度空间概念_人文地理学空间和尺度概念 1.图像的尺度这里图像的尺度并非指图像的大小,而是指图像的模糊程度,例如,人近距离看一个物体和远距离看一个物体模糊程度是不一样的,从近距离到远距离图像越来越模糊的过程,也是图像的尺度越来越大的过程。2.尺度空间的作用1.用机器视觉系统分析未知场景时,计算机并不预先知道图像中物体的尺度。我们需要同时考虑图像在多尺度下的描述,获知感兴趣物体的最佳尺度。2.不同的尺度下都有…

    2022年10月14日
  • 【刘文彬】区块链3.0:拥抱EOS[通俗易懂]

    【刘文彬】区块链3.0:拥抱EOS[通俗易懂]【刘文彬】区块链3.0:拥抱EOS

    2022年4月21日
  • 配置maven环境变量出错

    配置maven环境变量出错真是百思不得其解,在配置maven环境变量的时候通过下面的方法,尽管配置的环境完全正确,但在验证maven环境是否配置正确的时候却始终报错,报错内容如下所示:   出现此错误的配置方法如下: 1、右键“我的电脑”->”属性”; 2、在打开的属性面板里选择“高级系统设置”; 3、在打开的高级系统设置对话框中选择“环境变量”; 4、添加新的系统环境变量MA

    2022年5月14日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号