自注入java代理

siv3szwd  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(550)

我正在尝试创建一个自注入java代理。代理和动态加载代理的代码将包含在同一jar文件中。
我试图通过定义两者来做到这一点 Main-Class 以及 Agent-Class 在清单文件中。这是文件:

Manifest-Version: 1.0
Main-Class: myjar.injector
Agent-Class: myjar.agent

但是,在运行jar时出现以下错误: com.sun.tools.attach.AgentLoadException: Agent JAR not found or no Agent-Class attribute 当我检查编译过的jar时,只有一个 Main-Class 属性。我尝试在ide之外重新编译,但仍然只有 Main-Class 属性。
有什么办法两者兼得吗 Main-Class 以及 Agent-Class 在jar文件中?

egmofgnx

egmofgnx1#

对。把它放在那里。您有一些将java源文件转换为jar文件的过程。我希望它是maven或者gradle或者其他的构建系统。它可能是一个ide或一个手卷脚本。这一点也不神奇:你的工具链把事情搞砸了。
您始终可以按以下方式检查清单:

jar xvf myjar.jar META-INF/MANIFEST.MF
cat META-INF/MANIFEST.MF

相关问题