1 Star 0 Fork 2

绒花雪冷 / annotation-javaagent

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
README.md 1.27 KB
一键复制 编辑 原始数据 按行查看 历史
绒花雪冷 提交于 2020-08-03 22:07 . 更新文档,添加实例

简介

该模块主要是通过javaagent在程序启动时给java类动态添加注解

功能介绍

1、读取给定的配置文件,解析注解并添加到指定的类和方法上

2、在指定的目录中生成处理后的class文件

如何使用

在java启动时添加javaagent参数,指定本程序编译的jar包,并传递参数,如下所示:

java -javaagent:E:/javaagent.jar=-f=E:/annos.json,-d=E:/test -jar xxx.jar

命令说明:

-javaagent参数后的jar的路径必须是绝对路径,否则可能找不到

-f 和-d是javaagent.jar的参数

​ -f:注解文件绝对路径

​ -d:保存处理后的class文件的绝对路径

​ -h:查看参数说明

annos.json文件格式如下:

{
    "test": {
        "fullClassName": "io.github.ronghuaxueleng.test.Test",
        "annotations": [{
            "name": "io.swagger.annotations.Api",
            "attrs": [{ "attrValue": ["专病应用"], "attrName": "tags" }]
        }],
        "list": [{
            "method": "update",
            "annotations": [{
                "name": "io.swagger.annotations.ApiOperation",
                "attrs": [{ "attrValue": "更新", "attrName": "value" }]
            }]
        }]
    }
}

其他请参考test下实例

1
https://gitee.com/getready/annotation-javaagent.git
git@gitee.com:getready/annotation-javaagent.git
getready
annotation-javaagent
annotation-javaagent
master

搜索帮助