-
Notifications
You must be signed in to change notification settings - Fork 38.5k
Revisit spring-aspects 4.0.0 dependency on AspectJ 1.8.0.M1 [SPR-11248] #15873
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Juergen Hoeller commented On which basis do you assume that AspectJ 1.8.0.M1 is only compatible with Java 8? It should run fine on JDK 1.6 and 1.7 as well... Did you encounter concrete issues at runtime? Juergen |
Mark Janssen commented By looking at the README linked in the original file. Apart from that, I'm really not looking forward to using milestone release dependencies in production. |
Juergen Hoeller commented Point taken about the milestone nature of AspectJ 1.8; however, aside from the early Java 8 support, it's basically identical to AspectJ 1.7. Andy Clement, the AspectJ project lead, confirms that there are no issues with running it on JDK 1.6 and 1.7 either. That said, we are generally aiming for a dependency on a production release. If that still takes a while, we might have to officially document how to replace that dependency with AspectJ 1.7 for anyone concerned there. Note that the spring-aspects module itself has no dependencies on AspectJ 1.8 per se; it just happens to be built against it. We officially support running against AspectJ 1.6 and 1.7 as well, next to AspectJ 1.8 (even M1). Juergen |
Andy Clement commented Juergen pinged me to chip-in (as AspectJ project lead). Just confirming what has been said really. AspectJ 1.8.0.M1 passes all the same tests as the early 1.7 levels. The AspectJ testsuite is thousands of tests and they are the only thing used to verify the quality of a build. Every snapshot build must pass them all. And then a milestone is just a snapshot with a special name and a release is just a milestone with a special name. There are tests for numerous levels of Java, so AspectJ 1.8 will happily build 1.5/1.6/1.7/1.8 source code. Will it have bugs, well yes, because it was based on a work-in-progress Eclipse Java8 compiler, but unless you are using it to build Java8 code you will be unlikely to trigger them. The Eclipse compiler has to pass 10s of thousands of tests for each build. I do, however, understand the hesitancy around this being a milestone dependency but I can't make AspectJ 1.8 a release until Java8 is released. |
Juergen Hoeller commented Let's consider this as resolved for the time being: either use AspectJ 1.8.0.M1 which we fully support - for the purposes of the spring-aspects module, that is - on Java 6 and 7 as well. Or explicitly switch that dependency to AspectJ 1.7 which Spring 4's spring-aspects module remains fully compatible with at runtime. Juergen |
Mark Janssen opened SPR-11248 and commented
spring-aspects 4.0.0 uses AspectJ 1.8.0.M1 which is compatible only with Java 8, which is unreleased at this time (http://eclipse.org/aspectj/doc/released/README-180.html).
A workaround is to locally exclude
org.aspectj
dependencies from the spring-aspects dependency.Affects: 4.0 GA
Reference URL: 5ccbc80
Issue Links:
The text was updated successfully, but these errors were encountered: