JDK动态代理生成的中间文件如何保存到本地
-
方法一直接配置JVM启动参数
-Dsun.misc.ProxyGenerator.saveGeneratedFiles=true
-Djdk.proxy.ProxyGenerator.saveGeneratedFiles=true
以上配置应该选择什么依赖于JDK的版本,老版本的是第一个,新版本的是第二个,具体是什么可以进类ProxyGenerator 中去查看如下静态常量。
private static final boolean saveGeneratedFiles = (Boolean)AccessController.doPrivileged(new GetBooleanAction("sun.misc.ProxyGenerator.saveGeneratedFiles"));
-
方法二代码设置系统属性
在项目启动代码前添加如下代码
key是sun.misc.ProxyGenerator.saveGeneratedFiles还是jdk.proxy.ProxyGenerator.saveGeneratedFiles也依赖JDK版本,具体也是查看ProxyGenerator类中的静态常量。
System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles", "true");
中间文件会保存在新生成的文件夹com.sun.proxy下
网友评论