`
Nightlee
  • 浏览: 67522 次
社区版块
存档分类
最新评论

javaagent引发的ClassDefNotFoundException

    博客分类:
  • JAVA
 
阅读更多
想用Instrumentation监控cache的实际消耗内存,结果手贱,图方便把Instrumentation类和cache的spring配置文件打到了一个包里,通过在jboss启动脚本里增加 -javaagent:xxx.jar生效

Instrumentation本身没问题,结果是spring里的一些aop类找不到,报“org/aspectj/lang/ProceedingJoinPoint.class”这个类找不到,肯定是spring动态加载找不到这个文件,但奇怪的是lib里明明有这个类。。。

郁闷了半天,重要想到可能和javaagent配置有关,于是豁然开朗了

由于加载xxx.jar的classloader比jboss的classloader更底层,spring先加载了xxx.jar里的xml配置,而不是jboss里配的WIN-INF/lib里的jar,同时这个xml里用到的class也都会从根classloader加载,当然找不到了

解决方法很简单,把Instrumentation单独打个包,别搅合在一起就行了
0
0
分享到:
评论

相关推荐

    java agent注册为windows服务

    wrapper.java.additional.1=-javaagent:path/to/your/agent.jar ``` 6. **启动服务**:现在,当JSW启动Java应用程序时,它会先加载我们的Java Agent,然后由Agent完成服务注册。之后,你可以通过Windows服务管理...

    java agent使用全解析

    当Java虚拟机启动时,在执行main函数之前,JVM会先运行-javaagent所指定jar包内Premain-Class这个类的premain方法。 java agent的主要作用是提供了一个Class类型的转换器,可以在运行时接受重新外部请求,对Class...

    java项目实现热更源码-javaagent

    2. **指定Agent参数**:在Java应用启动时,通过`-javaagent`参数指定Agent的路径和可选参数。例如:`-javaagent:/path/to/your/agent.jar=param1=value1,param2=value2`。 3. **操作类字节码**:Java Agent接收到...

    java JAVA_OPTS javaagent

    标题中的"java JAVA_OPTS javaagent"涉及到Java应用程序的启动参数设置,特别是`JAVA_OPTS`环境变量和`javaagent`选项,这两个是Java虚拟机(JVM)启动时的关键配置项。`JAVA_OPTS`通常用于传递额外的JVM参数,如...

    java 代理例子 -javaagent,premain方式实现

    在这个包中,`javaagent`接口是关键,它定义了一个`premain`方法,该方法会在目标应用程序启动之前被调用,允许我们在程序加载时进行干预。 `premain`方法的签名如下: ```java public static void premain(String ...

    jmx_prometheus_javaagent-0.12.0.jar

    代理Java包,用于生成JVM的健康的数据,jmx_prometheus_javaagent-0.12.0.jar

    javaagent使用指南-rickiyang1

    Javaagent 是一种强大的工具,它允许开发者在 Java 程序运行时动态地修改类的行为。这个特性在很多场景下非常有用,比如性能监控、代码覆盖率分析、动态代理等。在本文中,我们将深入探讨 Javaagent 的使用以及其...

    基于Java Agent实现的自测联调Mock利器.zip

    基于Java Agent实现的自测联调Mock利器.zip基于Java Agent实现的自测联调Mock利器.zip基于Java Agent实现的自测联调Mock利器.zip基于Java Agent实现的自测联调Mock利器.zip基于Java Agent实现的自测联调Mock利器.zip...

    JADE(Java Agent DEvelopment Framework):一个Agent,多Agent系统的开发框架

    在此和大家分享JADE(全称Java Agent DEvelopment Framework)一个很酷的在Java上进行Agent开发的框架。你可以用这个框架很轻易的搭建一个MAS(多智能体系统),在这些系统中,各个Agent是自治的,而且可以互相通信...

    jmx_prometheus_javaagent-0.13.0.jar

    https://pan.baidu.com/s/15TPev6CpXCRIPvXCIreMzA sbnh

    基于Bytebuddy的Java Agent AOP框架.zip

    Java Agent是一种在JVM级别对程序进行动态增强的技术,它允许我们无需修改源代码或重新编译就可以在运行时对类进行拦截、修改或者增强。ByteBuddy是Java的一个库,用于在运行时创建和修改Java类和接口,它是创建Java...

    JavaAgent:Javassist 与 Asm JavaAgent 字节码动态编程项目

    在这个“JavaAgent: Javassist与Asm JavaAgent字节码动态编程项目”中,我们将深入探讨如何利用Javassist和ASM这两个库来实现JavaAgent。 首先,Javassist是一个开源的Java字节码操作框架,它使得开发者可以在运行...

    深入探索Java Agent:机制解析与使用指南

    Java Agent是Java平台的一个强大特性,它允许开发者在运行时对JVM中的类进行操作,包括类的加载、修改和卸载。这种能力使得Java Agent成为实现各种高级功能的理想选择,如监控、性能分析、安全增强等。本文将详细...

    idea maven 搭建java agent项目,手把手教你实现方法耗时统计的java agent.zip

    使用`-javaagent`参数指定你的Agent jar路径,以及`premain`方法的参数,如果有的话。 7. **收集和展示数据**:在Agent中,你需要实现数据的收集和展示。这可能包括将统计信息记录到日志文件,或者通过Socket发送到...

    Java Agent源码(带Jar包)

    在源码中,我们可能会看到如何注册和使用Java Agent的示例,这通常涉及到`-javaagent`命令行参数的使用,以及`Premain-Class`和`Agent-Class` manifest条目的配置。同时,源码可能包含如何利用Instrumentation API来...

    java-agent演示项目,修改Java源代码_java-agent-demo.zip

    java-agent演示项目,修改Java源代码_java-agent-demo

    Minecraft coremod Java Agent旨在修补在许多不同mod中发现的严重安全漏洞.zip

    总的来说,Minecraft coremod Java Agent是保障Minecraft游戏环境安全的重要工具,它通过动态修改字节码来增强模组的安全性,防止因模组漏洞而引发的安全问题。对于玩家来说,了解这一技术不仅能帮助他们更好地理解...

    apache-skywalking-java-agent-8.9.0

    在这个"apache-skywalking-java-agent-8.9.0"版本中,我们将探讨这个Java代理如何监控JVM服务,并深入理解其相关知识点。 1. **SkyWalking Java Agent**:SkyWalking的Java代理是一个自动探针,可以无侵入地附加到...

    javaAgent实现补丁不重出功能,通过attach实现程序运行时加载,同时通过shell脚本部署到容器内

    JavaAgent是一种强大的技术,它允许在Java应用程序运行时对其进行拦截和修改,而无需停止或重新启动应用。在本文中,我们将深入探讨如何利用JavaAgent来实现补丁的动态加载,以及如何通过shell脚本将其部署到容器...

    基于Java Agent的动态字节码修改系统.zip

    基于Java Agent的动态字节码修改系统 项目简介 本项目是一个基于Java Agent技术的动态字节码修改系统,旨在通过Java Agent在JVM加载类文件时对特定的类进行字节码修改。系统支持通过系统默认配置和数据库配置两种...

Global site tag (gtag.js) - Google Analytics