1.使用版本gradle-4.1 jdk1.8 spring-framework-5.0.9.RELEASE
https://services.gradle.org/distributions/ // gradle下载地址
https://github.com/spring-projects/spring-framework //spring 下载地址
2.安装gradle-4.1 的环境变量 安装完成通过 gradle -v 查看
在系统变量 path中加入:%GRADLE_HOME%\bin;
表示安装成功!
2.执行spring-framework-5.0.9.RELEASE 目录下的gradlew.bat 运行成功就会看到
如果失败了就可能时gradle版本不对
4.项目导入到idea中
修改build.gradle 仓库地址
repositories {
maven { url "https://maven.aliyun.com/nexus/content/groups/public/" }
maven { url "http://repo.springsource.org/plugins-release" }
mavenCentral()
}
执行fresh
build project可能会出现的问题
1.找不到org.springframework.aop.target
build时提示:程序包org.springframework.aop.target 不存在。
这个是最最最最最最弱智的失误了!!!!
因为我在Idea的设置中,将名称为target的目录给隐藏了:
注意不要加target
2.DefaultNamingPolicy未引入
执行如下:
如果还是不行就时gradle 版本的问题降低版本试下
3.找不到符号
符号: 类 AnnotationTransactionAspect
位置: 类 org.springframework.transaction.aspectj.AspectJTransactionManagementConfiguration
解决方法:主要原因是Idea默认使用的Javac编译器,而aspectj关键字它不认识。这个时候需要我们前期准备的AspectJ编译器Ajc了。
1. 将Idea的编译器设置为Ajc:
打开:IDEA--Preferences--Build,Execution,Deployment--Compiler--JavaCompiler,将Use compiler设置为Ajc,将Path to Ajc compiler设置为AspectJ安装目录下的lib文件夹中的aspectjtools.jar文件,同时,可以勾选Delegate to Javac选项,它能够只编译AspectJ的Facets项目,而其他普通项目还是交由Javac来编译。
aspectjtools下载地址:
https://mvnrepository.com/artifact/org.aspectj/aspectjtools/1.9.7
2. 将spring-aop_main和spring-aspectjs_main两个模块添加AspectJ Facets:
打开:File--Project Structure--Facets,点击+号,选择AspectJ,选择spring-aop_main。添加完后,同样的操作,将spring-aspectjs_main模块也设置AspectJ。
再次执行build,已经没有错误了。