类注解修改参数值,求解

希望修改注解的参数值,默认是常量值


@RunWith(Cucumber.class)
@CucumberOptions(
        plugin = {"pretty",
                "json:target/cucumber-report/json-files/cucumber.json",
                "html:target/cucumber-report/cucumber.html"},
        features = "src/test/resources/features",
        glue =  {"com.steps","com.hooks"},
        tags = "@test1"
)
public class CucumberTest {

    @Before
    public static void b() throws Exception{
        System.out.println("bbbbbbbbbbbbbbbbbbbbbb");
    }

    @BeforeClass
    public static void a() throws Exception{

        Class c = Class.forName("com.run.CucumberTest");
        Annotation cucumberOptions = c.getAnnotations()[1];
        InvocationHandler invocationHandler = Proxy.getInvocationHandler(cucumberOptions);
        Field memberValuesField = invocationHandler.getClass().getDeclaredField("memberValues");
        // 打开访问权限
        memberValuesField.setAccessible(true);
        // 获取 memberValues (目标注解的信息都在 memberValues 中)
        LinkedHashMap<String,String> memberValues = (LinkedHashMap) memberValuesField.get(invocationHandler);
        System.out.println("修改前tags:" + memberValues.get("tags"));

        for(Map.Entry<String,String> entry:memberValues.entrySet()){
            if (entry.getKey().equals("tags")){
                System.out.println("修改中:" + entry);
                entry.setValue("@test1");
            }
        }

        memberValues.put("tags","@test1 or @test2");
        System.out.println("修改后tags:" + memberValues.get("tags"));

        c.newInstance();

        System.out.println("xxxxxxxxxxxxxxxxxx");
    }
}

可以正常运行runwith类注解 但修改的tags值没有生效

麻烦给出建议
@BeforeClass 为启动本测试类前执行
cucumber tags为自动化测试标记 可以自己通过配置文件或程序处理得到一个 值