Cannot find a spring-aspects-4 dependency

Serafeim picture Serafeim · Dec 20, 2013 · Viewed 9.1k times · Source

I want to upgrade my project to spring 4, however, I get a missing dependency for aspectweaver-1.8.0.M1.jar. When I take a look at the dependency hierarchy, I see that this file is needed by spring-aspects-4.0.0, which has the following in its own pom.xml

<dependency>
  <groupId>org.aspectj</groupId>
  <artifactId>aspectjweaver</artifactId>
  <version>1.8.0.M1</version>
  <scope>compile</scope>
</dependency>

After checking maven repository, I wasn't able to find this artifact since the latest stable version of aspectweaver is 1.7.4.

Now I can't understand two things:

  1. Since the scope of this dependency is compile why does my application need it ? I don't want to compile the spring-aspects.jar !!

  2. Why is spring-aspects-4.0.0.jar (which is stable) using a non-stable version of a component ? Wouldn't that make spring-aspects-4.0.0 also non-stable ?

Thanks

Answer

reidarok picture reidarok · Dec 23, 2013

According to a reported issue at springsource, aspectjweaver is "basically identical to AspectJ 1.7" except that it has early support for Java 8.

As I don't need Java 8 support, I basically added a compile dependency to the latest release version of aspectweaver:

<dependency>
  <groupId>org.aspectj</groupId>
  <artifactId>aspectjweaver</artifactId>
  <version>1.7.4</version>
</dependency>

This ensures that the 1.7.4 is used instead of the milestone release, and is an acceptable workaround for me, for the time being.