如何在Idea中编译构建Spring Framework 5.x

如何在Idea中编译构建Spring Framework 5.x

  1. 安装配置Gradle(略)
  2. 下载源码:git clone https://github.com/spring-projects/spring-framework.git
  3. 按照工程下import-into-idea.md文件的提示进行操作
    The following has been tested against IntelliJ IDEA 2016.2.2
    
    ## Steps
    
    _Within your locally cloned spring-framework working directory:_
    
    1. Precompile `spring-oxm` with `./gradlew :spring-oxm:compileTestJava`
    2. Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)
    3. When prompted exclude the `spring-aspects` module (or after the import via File-> Project Structure -> Modules)
    4. Code away
    
    ## Known issues
    
    1. `spring-core` and `spring-oxm` should be pre-compiled due to repackaged dependencies.
    See `*RepackJar` tasks in the build and https://youtrack.jetbrains.com/issue/IDEA-160605).
    2. `spring-aspects` does not compile due to references to aspect types unknown to
    IntelliJ IDEA. See https://youtrack.jetbrains.com/issue/IDEA-64446 for details. In the meantime, the
    'spring-aspects' can be excluded from the project to avoid compilation errors.
    3. While JUnit tests pass from the command line with Gradle, some may fail when run from
    IntelliJ IDEA. Resolving this is a work in progress. If attempting to run all JUnit tests from within
    IntelliJ IDEA, you will likely need to set the following VM options to avoid out of memory errors:
        -XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeapSize=2048m
    4. If you invoke "Rebuild Project" in the IDE, you'll have to generate some test
    resources of the `spring-oxm` module again (`./gradlew :spring-oxm:compileTestJava`)    
    
    ## Tips
    
    In any case, please do not check in your own generated .iml, .ipr, or .iws files.
    You'll notice these files are already intentionally in .gitignore. The same policy goes for eclipse metadata.
    
    ## FAQ
    
    Q. What about IntelliJ IDEA's own [Gradle support](https://confluence.jetbrains.net/display/IDEADEV/Gradle+integration)?
    
    A. Keep an eye on https://youtrack.jetbrains.com/issue/IDEA-53476
    • 按照stepsKnown issues指示进行操作即可,第一次构建可能要下载大量依赖,可能需要花费一些时间,慢的可能需要一到俩小时,需要耐心等待。
    • 编译完spring-corespring-oxm之后,再去编译spring-context时候,你会发现报错了,有来自.gradle文件的报错,有因为xxx类找不到的报错,这里报出的任何错误,一律通过注释对应的代码进行解决。

      .gradle文件报错,将对应报错行的构建代码注释掉,xxx类找不到,将对xxx类的引用注释掉

    • 新增module进行测试

    Note: 由于spring-aspects的实现依赖了aspectj,需要另外引入,所以不调试spring-aspects模块内容的同学,可以直接把这个模块给移除掉。

?

我这边构建一份最新的工程(2019-11-2 2:26)放在Github上供大家参考

原文地址:https://www.cnblogs.com/think-in-java/p/11780427.html

时间: 10-30

如何在Idea中编译构建Spring Framework 5.x的相关文章

如何在Windows中编译Linux Unix的代码(采用cygwin)?

来源:http://www.cnblogs.com/rocky_yi/archive/2009/12/08/cygwin.html   作者:rocky_y 很多经典算法往往是用C++在linux下实现的,对长期从事windows开发的辛苦大众来说,想看这些算法的运行效果不得不费一点小功夫.今天捣鼓了一晚上才搞定这事,写出实现方法和大家共享. 第一步:下载安装新版Cygwin软件.该软件的官方网站:http://cygwin.com/  Cygwin软件的作用是让Windows拥有Unix-li

如何在Windows中编译Linux Unix的代码?

作者:rocky_yi  转自http://www.cnblogs.com/rocky_yi/archive/2009/12/08/cygwin.html 很多经典算法往往是用C++在linux下实现的,对长期从事windows开发的辛苦大众来说,想看这些算法的运行效果不得不费一点小功夫.今天捣鼓了一晚上才搞定这事,写出实现方法和大家共享. 第一步:下载安装新版Cygwin软件.该软件的官方网站:http://cygwin.com/  Cygwin软件的作用是让Windows拥有Unix-lik

[Spring Framework]学习笔记--@Component等stereotype的基础

在继续讲解Spring MVC之前,需要说一下常用的几个用来标记stereotype的annotation. @Component,@Controller,@Repository,@Service. 这四个都在org.springframework.stereotype包下面,后面3个都属于@Component. 可以理解为@Component是@Controller,@Repository,@Service的基类. @Component是用来标记任何被Spring管理的组件. @Control

如何在Maven中配置Spring依赖

如何在Maven中配置Spring依赖 *前言: 这篇文章讨论了如何在Maven配置Spring的一些细节,这里介绍了一些主要的Maven依赖管理内容,当然还存在一些没有讨论到的内容,不过这篇文章应该是在项目中使用Spring的一个好的起点.最新的Spring发布版可以在Maven仓库中找到.* 在Maven中Spring的基础配置 Spring是高度模块化的,可以单独使用Spring的某个库而不需要依赖Spring的其他库.比如,使用Spring Context库不需要依赖Spring Per

转-Spring Framework中的AOP之around通知

Spring Framework中的AOP之around通知 http://blog.csdn.net/xiaoliang_xie/article/details/7049183 标签: springaop设计模式beanintegerclass 2011-12-07 11:39 6108人阅读 评论(0) 收藏 举报 在第一部分,您看到了如何使用Spring AOP来实现跟踪和记录方面.跟踪和记录都是"消极"方面,因为它们的出现并不会对应用程序的其他行为产生影响.它们都使用了消极的b

[自编号1-2]将spring framework源码导入Spring Tool Suite中

先讲基本步骤,如下: 去GitHub中下载spring framework的源码,https://github.com/spring-projects/spring-framework/releases 下载3.2.X其中的一个版本; 安装Gradle软件,官网下载,解压即可,设置GRADLE_HOME,和PATH. 命令行中运行gradle -v,检查一下是否正确安装配置: 命令行中运行spring framework根目录下的import-into-eclipse.bat 连续两次回车,就可

Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->Spring Framework中的spring web MVC模块

spring framework中的spring web MVC模块 1.概述 spring web mvc是spring框架中的一个模块 spring web mvc实现了web的MVC架构模式,可以被用于开发web网站 spring web mvc 实现web网站的原理,如下图: 2.使用spring web mvc开发web应用的步骤 step1:在自己的工程中引入spring web mvc模块 step2:配置spring web mvc模块 中的DispatcherServlet,告

[JavaEE - JPA] 3. Spring Framework中的事务管理

前文讨论了事务划分(Transaction Demarcation)在EJB中是如何实现的,本文继续介绍在Spring Framework中是如何完成事务划分的. 我们已经知道了当采用Container事务类型的时候,事务划分主要有以下两种方案(参考这里): 使用JTA接口在应用中编码完成显式划分 在容器的帮助下完成自动划分 在使用JavaEE的EJB规范时,这两种方案分别被实现为BMT以及CMT,关于BMT和CMT在上一篇文章中有比较详尽的讨论(参考这里). 那么对于Spring Framew

Springboot(一):使用Intellij中的Spring Initializr来快速构建Spring Boot工程

使用Intellij中的Spring Initializr来快速构建Spring Boot工程 New---Project 可以看到图所示的创建功能窗口.其中Initial Service Url指向的地址就是Spring官方提供的Spring Initializr工具地址,所以这里创建的工程实际上也是基于它的Web工具来实现的,也可以将此地址copy到浏览器上试一下,会生成spring boot的项目工程下载 Next,下图可以看到可以编辑我们所创建的工程信息,type类型,language语