IDEA 搭建spring源码学习环境
导语:
spring源码现在都是gradle版本的了,对于一向使用maven的我,真的是头疼,特此祭奠一下坑吧。
一,下载spring源码
进入github,搜索spring,windows环境就下载zip然后解压,linux我是习惯直接用git clone命令。
二,gradle下载
下载方式很简单,进入官网,下载解压,windows添加环境变量就不讲了,linux下也很简单。
1.编辑用户的环境变量文件,我的是在家目录下的.bashrc
vim ~/.bashrc
2. 在文件后面添加两句
export GRADLE_HOME= "你的gradle解压目录"
export PATH=$GRADLE_HOME/bin:$PATH
注意: 最后的$PATH不能忘记了,要不然重启之后就只剩下gradle的命令了,什么ls,vim,cd都没有了。
如果忘记加也有办法,毕竟export命令还在,环境变量还可以修改过来。
3.修改缓存路径
用了一段时间,发现缓存太占磁盘了,虚拟机只能添加新的磁盘,于是我新加了一个磁盘,挂在了~/java下。
1.把之前缓存的文件移到新的磁盘下, mv ~/.gradle ~/java/.gradle (新下载的gradle不需要这么做)
2. 进入gradle解压目录下的bin目录,编辑gradle.bat 文件, 添加:
set GRADLE_OPTS="-Dgradle.user.home="/home/zwj/java/.gradle"
二,导入进IDEA
在源码包里,有一个import-into-idea.md文件,按照里面的方式即可。但是偏偏我发现它打包会自己下载gradle,然后会把一些类似于maven的repository缓存到家目录下的.gradle文件里,可是我根目录下已经没有磁盘内存了。于是自能自己打包!
1.先导入File->new->project for exsit source
注意几个设置即可。
2.编译一下spring-oxm
下载的依赖比较多,需要一点的时间。
3.我个人是在spring里面创建一个demo项目,用于学习。
A.File->new->mudole (记得设置spring为父项目)
B.在spring的setting.gradle中添加 include "demo"
C.把demo的build.gradle,改成demo.gradle
D.根据需要在demo.gradle中添加依赖 ,如 include project(":spring-bean")
三,例子和纠错
导入和创建demo项目都没什么毛病,于是写了一个简单的例子:
public static void main(String[] argv) { ApplicationContext context = new ClassPathXmlApplicationContext("application.xml"); LearnBeanApplication application = context.getBean("application", LearnBeanApplication.class); application.run(); } public void run () { System.out.println("the application is already init"); }
1.运行时会出现spring-context中有import报错,检查后发现是spring-instument没有编译,直接在gradle里选择spring-context然后buildDependents就行,类似的错误可能会在其他包中出现。 2.创建模块时,可能新的模块使用的是idea自身下载的gradle,出现错误时也应注意一下。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java并发编程中的设计模式解析(一)
Java并发编程,除了被用于各种Web应用、分布式系统和大数据系统,构成高并发系统的核心基础外,其本身也蕴含着大量的设计模式思想在里面。这一系列文章主要是结合Java源码,对并发编程中使用到的、实现的各类设计模式做归纳总结,以便进一步沉淀对Java并发设计的理解。 模板设计模式 Thread类中run和start方法,就是一个典型的模板设计模式的实现,即:父类定义算法逻辑代码,子类实现其细节。 1 public synchronized void start() { 2 /** 3 * 线程对象新建后的New状态,其内部thereadStatus属性为0 4 */ 5 if (threadStatus != 0) 6 throw new IllegalThreadStateException(); 7 8 /* 同时会被添加到一个ThreadGroup */ 9 group.add(this); 10 11 boolean started = false; 12 //调用JNI方法start0()来启动线程 13 try { 14 start0(); 15 started = true...
- 下一篇
C# WPF 歌词控件(支持逐字定位描色效果)
原文: C# WPF 歌词控件(支持逐字定位描色效果) 之前做了一个模仿网易云歌词的控件,实现了加载网易云歌词并能随音乐播放进度定位歌词。今天呢将在这个控件的基础上增加逐字定位描色功能,如下图效果(QQ音乐PC)所示: 我所使用的实现方法很简单粗暴,把每句歌词每个字切开,单独显示在一个描色的控件中,然后拼成一行完整的歌词,随音乐播放进度去找相应的字进行描色。 而最重要的描色功能是怎么实现的呢? 答案是:使用ClipToBounds属性 当控件ClipToBounds属性为TRUE时,超出控件范围的内容将会被裁剪掉不显示。现在你应该能明白描色功能怎么实现了吧? 在一个自定义控件中有两个Label,设置一个为置顶(ZINDEX最大)显示并加上颜色,给顶部的这个Label设置ClipToBounds属性为TRUE,然后默认顶部的Label宽度为0,描色的过程就把顶部的Label宽度慢慢增加。 最终完成的效果如下图,为了更直观地看到效果我给两个Label都加上了不同的背景颜色: 当然描色时间我没调好。当进度到达某个字时就调用那个字的控件执行一个宽度动画,动画目标就是置顶的Label,动画时间...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS6,CentOS7官方镜像安装Oracle11G
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19