【发布时间】:2012-07-31 00:16:35
【问题描述】:
我的问题的根源是我试图从部署在 JBoss AS7 上的 Web 应用程序中使用 SizeOf sourceforge project,并为 net.sourceforge.sizeof.SizeOf 获取 ClassNotFoundException。我将-javaagent:/path_to_jar/SizeOf.jar 添加到服务器的JAVA_OPTS 中,并在服务器启动时从premain 方法中查看System.out.println(JAVAGENT:调用SizeOf 类的premain 工具)。但是,当我尝试从我的 servlet 的 doGet 方法调用 SizeOf.sizeOf(obj) 时,应用程序失败并出现上述 ClassNotFoundException。
如果有人能告诉我如何使用 JBoss AS7 来实现它,那将很有帮助(我让它在 Eclipse 运行配置中运行——相当于从命令行运行)。除此之外,我真正想做的是了解类加载如何为 Java 代理工作。我能找到的最好的文档在the offical JVM docs 中,而且非常稀少。关于类加载它所说的只是 Premain-Class 将由系统类加载器加载。我看到一篇博客文章建议不需要将 jar 放在类路径上,因为 -javaagent JVM 参数会处理这个问题,所以看起来我不应该将 SizeOf jar 添加为AS7 模块。我错过了什么吗?
【问题讨论】:
标签: java jboss classloader jboss7.x agent