当前位置: 首页 > 知识库问答 >
问题:

修改org.eclipse.jdt.core.dom.astParser

吉栋
2023-03-14

我需要修改jdt.core jar文件中的org.eclipse.jdt.core.dom.astParser类。所以我创建了一个java项目,并且创建了相同的包(org.eclipse.jdt.core.dom)。但当我要创建该类的新实例时,我会遇到以下错误:

线程“main”java.lang.SecurityException中的异常:类“org.eclipse.jdt.core.dom.astParser2”的签名者信息与同一包中的其他类的签名者信息不匹配,该包中的java.lang.ClassLoader.CheckCerts(未知源)java.lang.ClassLoader.PredefineClass(未知源)java.lang.ClassLoader.DefineClass(未知源)java.security.SecureClassLoader.DefineClass(未知源)java.net.URLClassLoader.Access

当我在一个插件模式的项目中运行代码时,我没有问题,但是在一个java独立的项目中,我会得到这个错误。

谁能给我关于这个问题的见解吗?多谢了。

共有1个答案

陶刚豪
2023-03-14

原始工件org.eclipse.jdt.core_xyz.jar被签名。当您尝试将该jar与您自己修改的类结合使用时,JVM将检测到签名jar的完整性被破坏。您有两种选择:

  • 不是只替换一个文件,而是用自己的版本替换整个jar
  • 重新打包原始jar而不签名

根据您的配置,可能会有更多的波纹,因为其他插件(如org.eclipse.jdt.compiler.tool)将类贡献给同样存在于org.eclipse.jdt.core(“拆分包”)中的包,只有两个JAR都使用相同的证书签名--或者根本不签名--时才可以。

 类似资料:
  • 说明 支付宝境外到店支付-修改商户二维码 官方文档:https://global.alipay.com/service/merchant_QR_Code/34 类 请求参数类 请求参数 类名:\Yurun\PaySDK\AlipayCrossBorder\InStore\ModifyMerchantQR\Request 属性 名称 类型 说明 $service string 接口名称 $qrcod

  • 请求地址 https://api.es.xiaojukeji.com/river/Approval/update 返回数据格式 JSON 请求类型 POST 请求参数 参数名称 数据类型 必选 说明 client_id string yes 申请应用时分配的AppKey access_token string yes 授权后的access token timestamp string yes 当前

  • 请求地址 https://api.es.xiaojukeji.com/river/Member/edit 返回数据格式 JSON 请求方式 POST 是否需要登录 是 关于登录授权,参见 如何登录授权 访问授权限制 暂无 请求参数 名称 类型 必选 描述 client_id string yes 申请应用时分配的AppKey access_token string yes 授权后的access t

  • 请求地址 https://api.es.xiaojukeji.com/river/BudgetCenter/edit 返回数据格式 JSON 请求方式 POST 是否需要登录 是 关于登录授权,参见 如何登录授权 访问授权限制 暂无 请求参数 名称 类型 必选 描述 client_id string yes 申请应用时分配的AppKey access_token string yes 授权后的ac

  • 有人知道如何修改catalina.policy以消除此AccessControlException: 2016年2月25日下午2:31:14 org.apache.tomee.catalina.ServerListener安装 在java.lang.security.accessControlContext.checkPermission(AccessController.java:884),在j

  • 修改一下BaseModule,让它也能访问CacheManager @Inject protected CacheManager cacheManager; 一如既往地走默认注入规则: 与属性同名的bean