Java 如何在一个jar中创建@Aspect,并使用加载时编织从另一个jar截取方法?

Java 如何在一个jar中创建@Aspect,并使用加载时编织从另一个jar截取方法?,java,aspectj,aspectj-maven-plugin,load-time-weaving,Java,Aspectj,Aspectj Maven Plugin,Load Time Weaving,我看过很多与方面相关的帖子,但似乎没有一篇对我有帮助。我看到很多帖子都非常陈旧,而且当我处理多个文档时,所有示例GitHub存储库都只有一个.jar 我知道我的通用jar被正确地包括在内,因为我可以清楚地看到其他代码在工作。当我构建公共jar时,我会在输出日志中看到我的方面 mvn清洁安装日志 ------------------------------------------------------- T T S T S ------------------------------------

我看过很多与方面相关的帖子,但似乎没有一篇对我有帮助。我看到很多帖子都非常陈旧,而且当我处理多个文档时,所有示例GitHub存储库都只有一个.jar

我知道我的通用jar被正确地包括在内,因为我可以清楚地看到其他代码在工作。当我构建公共jar时,我会在输出日志中看到我的方面

mvn清洁安装
日志

-------------------------------------------------------
T T S T S
-------------------------------------------------------
[AppClassLoader@18b4aac2]信息AspectJ Weaver版本1.8.13于2017年11月15日星期三格林威治标准时间19:26:44构建
[AppClassLoader@18b4aac2]信息注册类加载器sun.misc.Launcher$AppClassLoader@18b4aac2
[AppClassLoader@18b4aac2]信息使用配置/C:/Users//Documents/IntelliJ/Team Common/Team Common/target/classes/META-INF/aop.xml
[AppClassLoader@18b4aac2]信息使用配置文件:/C:/Users/.m2/repository/org/springframework/springaspects/4.3.13.RELEASE/spring-aspects-4.3.13.RELEASE.jar/META-INF/aop.xml
[AppClassLoader@18b4aac2]信息注册方面com.mycompany.myteam.common.aspect.MyAspect
[AppClassLoader@18b4aac2]信息注册方面org.springframework.beans.factory.aspectj.annotationbeanconfigurationspect
[AppClassLoader@18b4aac2]信息注册方面org.springframework.scheduling.aspectj.AnnotationAsyncExecutionAspect
[AppClassLoader@18b4aac2]信息注册方面org.springframework.transaction.aspectj.annotationTransactionSpect
[AppClassLoader@18b4aac2]信息注册方面org.springframework.transaction.aspectj.jtaAnnotationTransactionSpect
[AppClassLoader@18b4aac2]信息注册方面org.springframework.cache.aspectj.AnnotationCacheAspect
[AppClassLoader@18b4aac2]信息注册方面org.springframework.cache.aspectj.JCacheCacheAspect
[AppClassLoader@18b4aac2]信息停用方面“org.springframework.cache.aspectj.JCacheCacheAspect”,因为它需要类型“org.springframework.cache.jcache.interceptor.JCacheAspectSupport”,在类路径上找不到该类型
[AppClassLoader@18b4aac2]信息停用方面“org.springframework.cache.aspectj.JCacheCacheAspect”,因为它需要类型“javax.cache.annotation.CacheResult”,在类路径上找不到该类型
[IsolatedClassLoader@48503868]信息AspectJ Weaver版本1.8.13于2017年11月15日星期三格林威治标准时间19:26:44构建
[IsolatedClassLoader@48503868]信息注册classloader org.apache.maven.surefire.booter。IsolatedClassLoader@48503868
[IsolatedClassLoader@48503868]信息使用配置/C:/Users//Documents/IntelliJ/Team Common/Team Common/target/classes/META-INF/aop.xml
[IsolatedClassLoader@48503868]信息使用配置文件:/C:/Users/.m2/repository/org/springframework/springaspects/4.3.13.RELEASE/spring-aspects-4.3.13.RELEASE.jar/META-INF/aop.xml
[IsolatedClassLoader@48503868]信息注册方面com.mycompany.myteam.common.aspect.MyAspect
[IsolatedClassLoader@48503868]信息注册方面org.springframework.beans.factory.aspectj.annotationbeanconfigurationspect
[IsolatedClassLoader@48503868]信息注册方面org.springframework.scheduling.aspectj.AnnotationAsyncExecutionAspect
[IsolatedClassLoader@48503868]信息注册方面org.springframework.transaction.aspectj.annotationTransactionSpect
[IsolatedClassLoader@48503868]信息注册方面org.springframework.transaction.aspectj.jtaAnnotationTransactionSpect
[IsolatedClassLoader@48503868]信息注册方面org.springframework.cache.aspectj.AnnotationCacheAspect
[IsolatedClassLoader@48503868]信息注册方面org.springframework.cache.aspectj.JCacheCacheAspect
[IsolatedClassLoader@48503868]信息停用方面“org.springframework.cache.aspectj.JCacheCacheAspect”,因为它需要类型“org.springframework.cache.jcache.interceptor.JCacheAspectSupport”,在类路径上找不到该类型
[IsolatedClassLoader@48503868]信息停用方面“org.springframework.cache.aspectj.JCacheCacheAspect”,因为它需要类型“javax.cache.annotation.CacheResult”,在类路径上找不到该类型
结果:
测试运行:0,失败:0,错误:0,跳过:0
当我在UserSearch.jar中调用API时,它会正确地返回数据,但即使控制器方法与公共jar中我的方面的切入点匹配,也不会触发方面

为什么我的公共Jar方面没有拦截UserSeach应用程序?

这是我的应用程序结构

普通罐

package com.mycompany.myteam.common.aspect;
@面貌
@组成部分
公共类MyAspect{
私有静态最终记录器Logger=LoggerFactory.getLogger(AuditAdvice.class);
@关于(“执行(public*com.mycompany.myteam.*.*控制器。*(…)”
+“&&!执行(public*com.mycompany.myteam.*.AuditController.*(…)”)
RestEndpoints周围的公共对象(ProceedingJoinPoint pjp)抛出可丢弃的{
System.err.println(“\n\n--------------------内部方面--------------------\n\n”);
返回pjp.procedure();
}
}
package com.mycompany.myteam.common.config;
@配置
@促性腺激素
公共类CommonAppConfig{
//…无关的
}
/src/main/resources/META-INF/aop.xml


pom.xml


4.0.0
com.mycompany.myteam.common
普通队
1.0.0
普通队
普通队
1.8
${java.version}
${java.version}
罐子
UTF-8
1.8.13
org.springframework.boot
spring启动程序父级
1.5.9.1发布
org.aspectj
aspectjrt
${aspectj.version}
org.aspectj
阿斯佩克