gpt4 book ai didi

java - 加载位于加载器内的 Java 代理 JAR

转载 作者:行者123 更新时间:2023-12-04 08:35:08 24 4
gpt4 key购买 nike

我的 IDE 中有两个单独的项目,用于代理和用于查找目标 VM 并加载代理 JAR 的加载程序。

  • 构建代理项目后,生成的代理 JAR 工件将复制到加载程序的资源文件夹中。
  • 构建加载器项目时,加载器 JAR 包含加载器代码和 agent.jar在里面。

  • 生成的可运行加载器结构如下所示:
    loader.jar
    ├── META-INF
    │ └── MANIFEST.MF
    ├── me.domain.loader
    │ └── Main.class
    └── agent.jar
    ├── META-INF
    │ └── MANIFEST.MF
    └── me.domain.agent
    └── Agent.class
    来自 VirtualMachine#loadAgent(java.lang.String)规范,我需要提供包含代理的 JAR 的路径作为第一个参数。
    但是,当使用 Main.class.getResource("/agent.jar").getPath() 时我收到了 AgentLoadException: Agent JAR not found or no Agent-Class attribute .这样做的正确方法是什么?

    最佳答案

    我已经在 Maven 项目中遇到过这样的问题。
    无论如何,您可能需要在 META-INF/MANIFEST.MF 中有一个 list 文件:

    Manifest-Version: 1.0
    Agent-Class: com.package.AgentLoader.agentNameHere
    Permissions: all-permissions
    您在此处有更多详细信息:
    https://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html
    或者
    Agent JAR not found or no Agent-Class attribute

    关于java - 加载位于加载器内的 Java 代理 JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64837302/

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