intellij idea gradle 导入 spring 问题记录

环境:

windows 7

oracle jdk 1.8

intellij idea 2019.3.1

spring-framework 5.1.22.RELEASE

步骤:

1: 下载解压spring zip 包(githup或者gitee下载)

2: 修改spring-framework源码配置信息

打开项目子目录 >>> ./gradle

修改docs.gradle文件 >>> dokka方法以及asciidoctor方法注释

注:

task schemaZip(type: Zip) 在某些版本该任务中是没有兼容window的路径符号,需要手动修改一下

修改如下  >>>>>>>

task schemaZip(type: Zip) {
    group = "Distribution"
    baseName = "spring-framework"
    classifier = "schema"
    description = "Builds -${classifier} archive containing all " +
            "XSDs for deployment at https://springframework.org/schema."
    duplicatesStrategy ‘exclude‘
    moduleProjects.each { subproject ->
        def Properties schemas = new Properties();

        subproject.sourceSets.main.resources.find {
            (it.path.endsWith("META-INF/spring.schemas") || it.path.endsWith("META-INF\\spring.schemas"))
        }?.withInputStream { schemas.load(it) }

        for (def key : schemas.keySet()) {
            def shortName = key.replaceAll(/http.*schema.(.*).spring-.*/, ‘$1‘)
            assert shortName != key
            File xsdFile = subproject.sourceSets.main.resources.find {
                (it.path.endsWith(schemas.get(key)) || it.path.endsWith(schemas.get(key).replaceAll(‘\\/‘,‘\\\\‘)))
            }
            assert xsdFile != null
            into (shortName) {
                from xsdFile.path
            }
        }
    }
}

先留一个坑 。。。。

3.导入项目 >>> 选中build.gradle右键import

漫长的等待中 。。。。

一般情况下导入是可以成功的,但 。。

exception during working with external system: java.lang.AssertionError
    at org.jetbrains.plugins.gradle.service.project.BaseGradleProjectResolverExtension.createModule(BaseGradleProjectResolverExtension.java:154)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.createModule(AbstractProjectResolverExtension.java:86)
    at org.jetbrains.kotlin.idea.configuration.KotlinMPPGradleProjectResolver.createModule(KotlinMPPGradleProjectResolver.kt:67)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.createModule(AbstractProjectResolverExtension.java:86)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.createModule(AbstractProjectResolverExtension.java:86)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.createModule(AbstractProjectResolverExtension.java:86)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.createModule(AbstractProjectResolverExtension.java:86)
    at com.android.tools.idea.gradle.project.sync.idea.AndroidGradleProjectResolver.createModule(AndroidGradleProjectResolver.java:165)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.createModule(AbstractProjectResolverExtension.java:86)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.createModule(AbstractProjectResolverExtension.java:86)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.createModule(AbstractProjectResolverExtension.java:86)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.createModule(AbstractProjectResolverExtension.java:86)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.createModule(AbstractProjectResolverExtension.java:86)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.createModule(AbstractProjectResolverExtension.java:86)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.createModule(AbstractProjectResolverExtension.java:86)
    at org.jetbrains.kotlin.android.configure.KotlinAndroidMPPGradleProjectResolver.createModule(KotlinAndroidMPPGradleProjectResolver.kt:45)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.createModule(AbstractProjectResolverExtension.java:86)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.createModule(AbstractProjectResolverExtension.java:86)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.createModule(AbstractProjectResolverExtension.java:86)
    at org.jetbrains.plugins.gradle.service.project.TracedProjectResolverExtension.createModule(TracedProjectResolverExtension.java:45)
    at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.doResolveProjectInfo(GradleProjectResolver.java:344)
    ... ...

这个是因为spring配置的gradle版本问题

打开./gradle/wrapper/gradle-wrapper.properties文件

修改为5.x版本,博主修改为gradle-5.5.1-all.zip //all包含源码

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

成功导入展示:

4. 编译源代码

这里先看一下spring的markdown文档

大致意思是需要先预编译`spring-core`、`spring-oxm`以及`spring-aspects`。

先直接编译`spring-oxm`它依赖了`spring-core`

gradle窗口中选择spring-oxm > Tasks > other > compileTestJava

然后是`spring-aspects` >>>
spring-aspects > Tasks > other > compileTestJava

如果失败请先安装ajc编译器 https://www.eclipse.org/aspectj/downloads.php

点击Test

再生成即可

----------------------------------------------------------------------------------

目前遇到问题就这几点,希望能帮助到大家。

原文地址:https://www.cnblogs.com/bingco/p/12082955.html

时间: 2024-10-12 12:26:39

intellij idea gradle 导入 spring 问题记录的相关文章

spring异常记录-----java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils

今天在练习怎样SSH中进行单元測试的时候出现下列异常: SEVERE: Exception starting filter Struts2 java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:211

MySQL存储引擎 SQL数据导入/导出 操作表记录 查询及匹配条件

MySQL存储引擎的配置 SQL数据导入/导出 操作表记录 查询及匹配条件 1 MySQL存储引擎的配置1.1 问题 本案例要求MySQL数据存储引擎的使用,完成以下任务操作: 可用的存储引擎类型 查看默认存储类型 更改表的存储引擎 1.2 步骤 实现此案例需要按照如下步骤进行. 步骤一:查看存储引擎信息 登入MySQL服务器,查看当前支持哪些存储引擎. 使用mysql命令连接,以root用户登入: [[email protected] ~]# mysql -u root –p Enter pa

spring相关记录

2018-11-01 ,本文 70 字,阅读全文约需 1 分钟 org.springframework.web.servlet.handler.SimpleUrlHandlerMapping 自定义相关映射 Blog 链表的并发安全 oracle索引 spring相关记录 Oracle的sql优化 责任链模式 双重检查的单例模式为啥需要使用volatile volatile原理 synchronized原理 同步工具类 代理模式 jdk8的新特性 Oracle的各种连接 jvm 工作中遇到的一些

Spring学习记录(十四)---JDBC基本操作

先看一些定义: 在Spring JDBC模块中,所有的类可以被分到四个单独的包:1.core即核心包,它包含了JDBC的核心功能.此包内有很多重要的类,包括:JdbcTemplate类.SimpleJdbcInsert类,SimpleJdbcCall类,以及NamedParameterJdbcTemplate类.2.datasource即数据源包,访问数据源的实用工具类.它有多种数据源的实现,可以在JavaEE容器外部测试JDBC代码.3.object即对象包,以面向对象的方式访问数据库.它允许

[自编号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 连续两次回车,就可

IntelliJ IDEA 自动导入包 快捷方式

idea可以自动优化导入包,但是有多个同名的类调用不同的包,必须自己手动Alt+Enter设置 设置idea导入包 勾选标注 1 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们优化导入的包,比如自动去掉一些没有用到的包. 勾选标注 2 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们导入需要用到的包.但是对于那些同名的包,还是需要手动 Alt + Enter 进行导入的 ============================================

在Web应用和IntelliJ IDEA中使用Spring框架

在JAVA SE和Web应用中都可以使用Spring, 这里只说在Web程序中的应用. 下面将以Spring 3.0.5版本为例. 在Web中使用Spring只需要如下两个步骤: 第一,将Spring项目的dist路径下的全部JAR包复制到Web应用的WEB-INF/lib路径下: 第二,将Spring的spring-framework-3.0.5.RELEASE-dependencies.zip解压缩路径下所需的第三方类库文件复制到Web应用的WEB-INF/lib路径下. 在IntelliJ

导入spring in action 4 第5章源码到eclipse

第5章源码结构 源码里没有.setting文件和.classpath文件以及.project文件,直接导入则不能识别,因此需要新建一个项目,用导入文件的方式将源码的代码导入到Eclipse项目里.其实这种方式比直接把源码导入成项目要好的多,因为导入文件的方式是把源码里的文件复制到新项目里,在新项目里修改内容不会改变源码的内容,而如果直接把源码导入成项目,修改项目的内容时则是直接修改了源码. 很明显,源码中显示项目为Gradle的项目,因此在eclipse里新建一个Gradle项目 新建的项目命名

MyEclipse中导入Spring 4.0源码

到Spring的官网下载开发包,即: ,解压缩后的文件目录如下: 在MyEclipse的编辑窗口,按 Ctrl + Shift + T 打开查看源代码窗口,输入你想查找的类,如下图所示: 当你点击OK按钮的时候,如果没有导入源代码包就会有如下图所示的提示: 点击Attache  Source…按钮,进入到下图所示的界面: 点击External File…按钮,找到F:\Java Kit\spring-framework-4.0.0.RELEASE\libs该目录(根据个人保存路径找),然后填在对