gpt4 book ai didi

检测 eclipse rcp 应用程序时出现 java.lang.ClassNotFoundException

转载 作者:行者123 更新时间:2023-12-02 03:54:25 26 4
gpt4 key购买 nike

我尝试在某些所需类的每个方法中使用 javassist 注入(inject)方法调用语句。 该语句对应于 java-agent jar 中的一个类。例如,如果我的代理具有像 a.b.HelperClass 这样的类,我将注入(inject) a.b.HelperClass.call();在每个类(class)的开头使用 javassist。

我尝试使用 Spring Boot Web 应用程序,代理工作正常,但使用 RCP 应用程序时,它会抛出异常

java.lang.ClassNotFoundException:a.b.HelperClass 在 org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410) 在 org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357)

我需要使用 eclipse 类加载器加载驻留在 agent-jar 内的类吗? 顺便说一句,我通过调用代理主方法而不是 premain 来进行检测

最佳答案

Eclipse 基于 OSGi,并具有强制执行的模块系统。

HelperClass 必须位于应使用它的 Eclipse 插件的类路径中。

关于检测 eclipse rcp 应用程序时出现 java.lang.ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56758946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com