HotswapAgent 项目使用教程
1. 项目的目录结构及介绍
HotswapAgent 项目的目录结构如下:
HotswapAgent/
├── hotswap-agent-core/
├── hotswap-agent-parent/
├── hotswap-agent/
├── plugin/
├── .gitignore
├── LICENSE
├── README.md
├── pom.xml
└── run-tests.sh
目录结构介绍
- hotswap-agent-core/: 核心模块,包含 HotswapAgent 的核心功能代码。
- hotswap-agent-parent/: 父模块,用于管理项目的依赖和插件。
- hotswap-agent/: 主模块,包含 HotswapAgent 的主要代码和配置。
- plugin/: 插件模块,包含各种框架的插件代码。
- .gitignore: Git 忽略文件,指定哪些文件或目录不需要被 Git 管理。
- LICENSE: 项目许可证文件,采用 GPL-2.0 许可证。
- README.md: 项目介绍文件,包含项目的概述、安装和使用说明。
- pom.xml: Maven 项目配置文件,定义项目的依赖和构建配置。
- run-tests.sh: 测试脚本,用于运行项目的集成测试。
2. 项目的启动文件介绍
HotswapAgent 项目的启动文件主要是通过 JVM 参数来配置和启动的。以下是不同 Java 版本的启动配置示例:
Java 17/21
java -XX:+AllowEnhancedClassRedefinition -XX:HotswapAgent=fatjar -jar your-application.jar
Java 11
java -XX:HotswapAgent=fatjar -jar your-application.jar
Java 8
java -XXaltjvm=dcevm -javaagent:hotswap-agent.jar -jar your-application.jar
启动文件介绍
- -XX:+AllowEnhancedClassRedefinition: 启用增强的类重定义功能(仅适用于 Java 17/21)。
- -XX:HotswapAgent=fatjar: 启用 HotswapAgent 的 fatjar 模式,包含所有插件。
- -XXaltjvm=dcevm: 使用 DCEVM 作为替代 JVM(仅适用于 Java 8)。
- -javaagent:hotswap-agent.jar: 指定 HotswapAgent 的 jar 文件路径。
3. 项目的配置文件介绍
HotswapAgent 的配置文件主要是通过 hotswap-agent.properties
文件来进行的。以下是一些常见的配置项:
hotswap-agent.properties
# 启用自动 Hotswap
autoHotswap=true
# 添加额外的类路径
extraClasspath=/path/to/additional/classes
# 监控资源文件夹
watchResources=/path/to/resources
# 指定自定义配置文件路径
propertiesFilePath=/data/hotswap-agent.properties
配置文件介绍
- autoHotswap: 启用自动 Hotswap 功能,当类文件发生变化时自动重新加载。
- extraClasspath: 添加额外的类路径,用于监控外部依赖的类文件变化。
- watchResources: 监控指定的资源文件夹,当资源文件发生变化时自动重新加载。
- propertiesFilePath: 指定自定义配置文件的路径,用于覆盖默认配置。
通过以上配置,可以灵活地调整 HotswapAgent 的行为,以适应不同的开发和生产环境。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考