We have a working application running on spring boot 3.1.5 using java 21 as a native image and everything works ok we are trying to upgrade that application to 3.2.0-RC2 to get the benefit of project loom and get prepared for GA release but we see some issue

When we migrate to spring boot 3.2.0-RC2 and upgrade the native build tool to 0.9.28 we get the following error After some researches the error happens only when we use the annotation @EnableJpaAuditing

Please check more in the conversation in previews open issue from: #https://github.com/spring-projects/spring-data-jpa/issues/3222

Simple Project here

StackTrace:

Caused by: java.lang.IllegalArgumentException: Pointcut is not well-formed: expecting 'identifier' at character position 0

        at org.aspectj.weaver.tools.PointcutParser.resolvePointcutExpression(PointcutParser.java:334) ~[demo:na]
        at org.aspectj.weaver.reflect.InternalUseOnlyPointcutParser.resolvePointcutExpression(InternalUseOnlyPointcutParser.java:36) ~[na:na]
        at org.aspectj.weaver.reflect.Java15ReflectionBasedReferenceTypeDelegate.getDeclaredPointcuts(Java15ReflectionBasedReferenceTypeDelegate.java:307) ~[na:na]
        at org.aspectj.weaver.ReferenceType.getDeclaredPointcuts(ReferenceType.java:890) ~[demo:1.9.20]
        at org.aspectj.weaver.ResolvedType$PointcutGetter.get(ResolvedType.java:261) ~[na:na]
        at org.aspectj.weaver.ResolvedType$PointcutGetter.get(ResolvedType.java:258) ~[na:na]
        at org.aspectj.weaver.Iterators$4$1.hasNext(Iterators.java:213) ~[na:na]
        at org.aspectj.weaver.Iterators$6.hasNext(Iterators.java:288) ~[na:na]
        at org.aspectj.weaver.Iterators$4.hasNext(Iterators.java:230) ~[na:na]
        at org.aspectj.weaver.ResolvedType.findPointcut(ResolvedType.java:767) ~[demo:1.9.20]
        at org.aspectj.weaver.patterns.ReferencePointcut.resolveBindings(ReferencePointcut.java:148) ~[na:na]
        at org.aspectj.weaver.patterns.Pointcut.resolve(Pointcut.java:189) ~[demo:na]
        at org.aspectj.weaver.tools.PointcutParser.resolvePointcutExpression(PointcutParser.java:331) ~[demo:na]
        at org.aspectj.weaver.reflect.InternalUseOnlyPointcutParser.resolvePointcutExpression(InternalUseOnlyPointcutParser.java:36) ~[na:na]
        at org.aspectj.weaver.reflect.Java15ReflectionBasedReferenceTypeDelegate.getDeclaredPointcuts(Java15ReflectionBasedReferenceTypeDelegate.java:307) ~[na:na]
        at org.aspectj.weaver.ReferenceType.getDeclaredPointcuts(ReferenceType.java:890) ~[demo:1.9.20]
        at org.aspectj.weaver.ResolvedType$PointcutGetter.get(ResolvedType.java:261) ~[na:na]
        at org.aspectj.weaver.ResolvedType$PointcutGetter.get(ResolvedType.java:258) ~[na:na]
        at org.aspectj.weaver.Iterators$4$1.hasNext(Iterators.java:213) ~[na:na]
        at org.aspectj.weaver.Iterators$4.hasNext(Iterators.java:230) ~[na:na]
        at org.aspectj.weaver.ResolvedType.findPointcut(ResolvedType.java:767) ~[demo:1.9.20]
        at org.aspectj.weaver.patterns.ReferencePointcut.resolveBindings(ReferencePointcut.java:148) ~[na:na]
        at org.aspectj.weaver.patterns.AndPointcut.resolveBindings(AndPointcut.java:83) ~[na:na]
        at org.aspectj.weaver.patterns.Pointcut.resolve(Pointcut.java:189) ~[demo:na]
        at org.aspectj.weaver.tools.PointcutParser.resolvePointcutExpression(PointcutParser.java:331) ~[demo:na]
        at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:312) ~[demo:na]
        at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:222) ~[na:na]
        at org.springframework.aop.aspectj.AspectJExpressionPointcut.obtainPointcutExpression(AspectJExpressionPointcut.java:193) ~[na:na]
        at org.springframework.aop.aspectj.AspectJExpressionPointcut.getClassFilter(AspectJExpressionPointcut.java:172) ~[na:na]
        at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:234) ~[na:na]
        at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:296) ~[na:na]
        at org.springframework.aop.support.AopUtils.findAdvisorsThatCanApply(AopUtils.java:328) ~[na:na]
        at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findAdvisorsThatCanApply(AbstractAdvisorAutoProxyCreator.java:128) ~[demo:6.1.0-RC2]
        at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:97) ~[demo:6.1.0-RC2]
        at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:78) ~[demo:6.1.0-RC2]
        at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:366) ~[demo:6.1.0-RC2]
        at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:318) ~[demo:6.1.0-RC2]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:437) ~[demo:6.1.0-RC2]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) ~[demo:6.1.0-RC2]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) ~[demo:6.1.0-RC2]
        ... 69 common frames omitted

Comment From: sdeleuze

The missing reflection entry is:

[
{
  "name":"org.springframework.beans.factory.aspectj.AnnotationBeanConfigurerAspect",
  "allDeclaredFields":true
}
]

Comment From: Ricard-Kollcaku

Thanks that works, should we add it manually or it will be included in spring framework 6.1 release ?

Comment From: sdeleuze

The fix should be included in the specified milestone, which is at this time 6.1.0 (but could be updated).