Java代理只是另一个Java程序。包含代理的jar文件最终位于类路径上,因此可以像访问任何其他资源一样进行访问。例如,尝试
我实现了一个javaagent
,需要访问代理的jar文件中的一些资源文件。(例如:log4j.properties
文件、密钥库.jks
文件等)如果我把它们放在src/main下的资源文件夹中,它们就会包含在代理jar中。
代理JAR
- log4j.properties
- META-INF
- agentFolder
但是,在代理运行期间,我如何访问这些文件?如何在代理的项目文件中提供这些文件的路径。请稍做解释。如果不可能,我想就如何更有效地访问这些配置文件提出一些建议。由于代理将在不同的产品上运行,我认为给出文件夹结构是不合适的。
MyAgent.class.getResource("/log4j.properties")
获取这样一个文件。这应该在任何Java程序和任何平台上都能正常工作。