栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

AspectJ AOP LTW无法与javaagent的动态加载一起使用

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AspectJ AOP LTW无法与javaagent的动态加载一起使用

解释很简单:你直接在课堂上测试织造剂

Main
,其已被加载 之前
你从该类附上极剂。因此,您必须避免将要编织的类过早加载。我建议您将方法
myFunc()
(很糟糕的名称)放入另一个类。那个怎么样?

package com.aop.app;import com.aop.app.lib.Wrap;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class Application {  private static final Logger logger = LoggerFactory.getLogger(Application.class);  @Wrap  public void myFunc(){    logger.debug("inside myFunc");  }  public static void main(String[] args) {    new Application().myFunc();  }}

然后在您的最后一行中

Main.main(..)
,启动您要编织的实际应用程序:

Application.main(null);

这将产生以下输出:

com.aop.app.lib.WrapDef Loaded : falsejava.lang.UnsupportedOperationException: AspectJ weaving agent was neither started via '-javaagent' (preMain) nor attached via 'VirtualMachine.loadAgent' (agentMain)loading javaAgent aop-app/target/deploy/lib/aspectjweaver-1.9.1.jarloaded javaAgent aop-app/target/deploy/lib/aspectjweaver-1.9.1.jarcom.aop.app.lib.WrapDef Loaded : falseLoading07:56:21.703 [main] DEBUG com.aop.app.lib.WrapDef - before wrap07:56:21.716 [main] DEBUG com.aop.app.Application - inside myFunc07:56:21.716 [main] DEBUG com.aop.app.lib.WrapDef - after wrap

PS:您真的认为方面库的用户在JVM命令行上指定两个属性而不是仅使用它更容易

-javaagent:/path/to/aspectweaver.jar
吗?无论如何,您可能有使用动态Weaver附件的理由。从某种程度上来说,我很高兴有人使用我自己不久前添加到AspectJ中的功能。
;-)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/438077.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号