如题。 java -javaagent:a.jar -cp ./bin/ com.xxx.demo.Main 我如何在a.jar里面的premain类中获取到这串东西“com.xxx.demo.Main",哪怕是字符串也成。
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
已采纳
使用javaagent时,premain中如何获取目标main的类名称?
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
jinnianshilongnian 2012-09-04 20:44关注这个是做不到的。
实在不行,可以通过
java -javaagent:a.jar=参数 -cp ./bin/ com.xxx.demo.Main参数如com.xxx.demo.Main premain的agentArgs可以获取。
你为什么要这么做。 你要修改类定义可以通过添加ClassFileTransformer来完成。
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报
微信扫一扫点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容
报告相同问题?
提交
- 2020-08-29 04:15在测试类中,可以使用 `java -javaagent:JavaAgent.jar` 命令来加载 Agent,并执行 main 方法。例如: ```java public class Test { public static void main(String[] args) { System.out.println("main...........
- 2025-01-17 20:42Jack_abu的博客 java中的premain方法是做什么的,它和main有什么区别或联系,Instrumentaion API又是什么,和-javaagent有什么关系,如何在jvm启动应用程序之前插入自定义代码
- 2020-08-18 22:59当Java虚拟机启动时,在执行main函数之前,JVM会先运行-javaagent所指定jar包内Premain-Class这个类的premain方法。 java agent的主要作用是提供了一个Class类型的转换器,可以在运行时接受重新外部请求,对Class...
- 2021-03-08 20:49傻相的铃铛的博客 Java Agent是依附于java应用程序并能对其字节码做相关更改的一项技术,它也是一个Jar包...一个Java Agent既可以在程序运行前加载(premain方式), 又可以在程序运行后加载(attach方式)。本文通过实现一个对Java方法耗...
- 2024-05-28 17:31A圳技术的博客 然后运行【MyTestMain.java】在【pom.xml】里面添加。
- 2025-10-26 00:17在开发Java agent时,通常需要使用Java Instrumentation API,这是JVM提供的一个用于在运行时监控和修改类加载和字节码操作的接口。开发者可以通过编写一个实现了Instrumentation接口的类来实现各种需求,比如增加...
- 2022-08-03 22:10Javaagent 是一种强大的工具,它允许开发者在 Java 程序运行时动态地修改类的行为。这个特性在很多场景下非常有用,比如性能监控、代码覆盖率分析、动态代理等。在本文中,我们将深入探讨 Javaagent 的使用以及其...
- 2021-03-08 20:49art 信贷的博客 agentmain方式首先假如我们有个应用1启动类为task,package com.st;import java.lang.instrument.Instrumentation;...public class Task {public static void main (String[] args) {Scanner scanner = new Sca...
- 2025-08-22 14:121. MANIFEST.MF文件:这是打包Java agent时必须包含的清单文件,它声明了代理类的名称、代理要附加到的JVM等信息。 2. Premain-Class或Agent-Class属性:这两个属性指明了在JVM启动前后需要执行的主类。 3. ...
- 2021-02-27 17:22赵有名的博客 agentmain方式首先假如我们有个应用1启动类为task,package com.st;import java.lang.instrument.Instrumentation;...public class Task {public static void main (String[] args) {Scanner scanner = new Sca...
- 2020-12-06 17:21谈谈1974的博客 在之前的文章 静态代理 一节中我们已经提到过 Java 探针技术,简单来说,在 JDK 1.5中 Java 引入了 java.lang.Instrument 包,该包提供了一些工具使得在类加载时期修改 Class 类成为了可能。这实际上就是提供了一种...
- 2020-08-30 01:53Java Agent可以在main函数开始前或程序运行中对类文件进行修改,从而实现AOP编程。 在本文中,我们将通过一个简单的示例,演示如何使用Java Agent来动态修改代码。我们的目标是为所有添加@ToString注解的类实现默认...
- 2025-08-22 10:27Java Agent是一种特殊的Java程序,它能够在不修改被加载类文件的前提下,在运行时刻改变类的行为。这种技术通常用于AOP(面向切面编程),它允许开发者在不修改业务代码的情况下添加横切关注点,如日志记录、安全...
- 2024-04-19 23:01yifanghub的博客 是在JDK1.5以后引入的,它能够在不影响正常编译的情况下修改字节码,相当于是在main方法执行之前的拦截器,也叫premain,也就是会先执行premain方法然后再执行main方法。JDK 1.6后引入了agentmain模式,同样提供了一...
- 2025-08-22 14:23要实现这一机制,首先需要编写一个Javaagent类,该类中会包含一个premain方法。这个方法会在目标Java程序的main方法之前执行,从而有机会对目标程序进行修改。开发者可以在这个方法中使用Instrumentation API提供的...
- 2021-03-01 06:48weixin_39867509的博客 首先假如我们有个应用1启动类为task,package com.st;import java.lang.instrument.Instrumentation;...public class Task {public static void main (String[] args) {Scanner scanner = new Scanner(System...
- 2021-04-21 14:48五年达尔文的博客 Java Agent的agentmain和premain方式 https://www.yht7.com/news/30041 Java Agent的agentmain和premain方式 作者:佚名 来源: 网络转载 时间:2020-03-14 首先假如我们有个应用1启动类为task, package com.st; ...
- 2019-12-13 14:36晓得哥的博客 之前在一个应用中搜索到一个类,但是在反序列化测试的时出错,错误不是class notfound,是其他0xxx这样的错误,通过搜索这个错误大概是类没有被加载。最近刚好看到了JavaAgent,初步学习了下,能进行拦截,主要通过...
- 2025-04-24 09:00一人荡江湖@的博客 对javaagent有一些了解之后,这次我们来展示javaagnet来统计目标方法的运行时长。2.创建你的运行时代码也是一个maven工程其他的工程也可以只需要能创建一个运行类即可。1.先创建一个javaagent的maven工程。最重要的...
- 没有解决我的问题, 去提问