由于 AspectJ LoadTime-Weaving 需要使用代理/它自己的类加载器加载 JVM - 有没有办法从我的小程序加载/更改用户的 JVM?或者可能就在加载小程序之前(使用父小程序?)
kfinkels
问问题
573 次
2 回答
2
在 JVM 启动后可能会添加编织代理,请参阅: 如何在不停止 JVM 的情况下将 Javaagent 添加到 JVM?
于 2011-07-07T09:30:06.840 回答
1
恐怕你在那里完全不走运。根据关于小程序类加载器的 Sun 文档,“Web 浏览器仅使用一个类加载器,该类加载器在启动时建立。此后,系统类加载器无法扩展、重载、覆盖或替换。小程序无法创建或引用自己的类加载器”(强调我的)。
在这个问题上,您可能会在编译时编织方面取得更大的成功,除非有某种原因您不能这样做。
但是,如果小程序已签名,您也许可以解决此问题。AspectJ 并不清楚它对 Java 安全性的要求是什么。我会进入 AspectJ 邮件列表并询问。
于 2008-09-29T22:24:44.183 回答