我想将我的项目升级到
spring 4,但是,对于aspectweaver-1.8.0.M1.jar,我缺少依赖关系.当我看看依赖关系层次结构时,我发现spring-aspects-4.0.0需要这个文件,它在自己的pom.xml中有以下内容
<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.0.M1</version> <scope>compile</scope> </dependency>
检查maven存储库后,我无法找到这个工件,因为最新的Aspectweaver版本是1.7.4.
现在我不明白两件事情:
>因为这个依赖的范围是编译为什么我的应用程序需要它?我不想编辑spring-aspects.jar!
>为什么spring-aspects-4.0.0.jar(这是稳定的)使用非稳定版本的组件?这不会使弹簧方面4.0.0也不稳定吗?
谢谢
解决方法
根据
a reported issue at springsource,aspectjweaver“与AspectJ 1.7基本相同”,除了它早期支持Java 8.
由于我不需要Java 8的支持,我基本上添加了一个编译依赖关系到最新版本的aspectweaver:
<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.7.4</version> </dependency>
这确保使用1.7.4而不是里程碑版本,对于我来说,是一个可以接受的解决方法.