如何扩展最终类?(Reflection,Javassist)

2023-12-01

我有一个 .JAR 文件,它有大量的类。一,我需要的被设置为最终的,所以我不能扩展它。有一种方法,我基本上必须扩展和修复,否则一切都会崩溃。我怎样才能做到这一点?我知道 Reflection 和 Javassist 可以用于此目的,但我不知道如何使用。任何其他工具也是可以接受的,只要它有效即可。


你不能使用反射修改现有的类定义。

如果该 JAR 的许可证允许您这样做,我会建议一个不同的解决方案:反编译那一堂课;放下final关键词;并重建类和 JAR 文件。

这是唯一的robust解决你的问题的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何扩展最终类?(Reflection,Javassist) 的相关文章

随机推荐

  • shapefile 中的奇怪多边形

    我正在尝试将 shapefile 应用到 ggmaps 地图 但它给了我非常奇怪的结果 有问题的形状文件是澳大利亚统计局提供的 统计本地区域 类似于邮政编码的组 形状文件here Normally I might think that it
  • BufferedWriter 不写入文本文件

    所以我用的是缓冲写入器并想将一些文本写入文本文件 try BufferedWriter b new BufferedWriter new FileWriter home usr Desktop logger logs txt b write
  • CakePHP - 如何使用自定义参数创建路由?

    我的蛋糕网址是这样的 token 9KJHF8k104ZX43 url array controller gt users action gt password reset prefix gt admin admin gt true tok
  • Post 请求在 ListView 内的 get_queryset 函数中不可用

    在ListView中 我可以轻松使用def post 自我 请求 方法从列表视图发出发布请求 但我想从以下位置发出帖子请求def get queryset 自身 我还不能做到 当我尝试这样做时 它显示 405 方法不允许 即使允许通过 po
  • 从 HeadlessGraphicsEnvironment.getDefaultScreenDevice 抛出 java.awt.HeadlessException

    我需要在java服务器上进行一些图像处理 Debian的java版本为 1 6 0 12 我从我的代码中收到 java awt HeadlessException java awt HeadlessException at sun java
  • 有没有办法获得小写的类别名称?

    我正在设置一个 WordPress 主题 并将 Facebook 喜欢 按钮集成到每个类别中 我需要一种以小写形式获取当前页面 URL 的方法 这样我就可以为所有类别设置几个类似的按钮 同时每个按钮都有不同的 url 链接 目前 当我使用
  • Snowflake - ALTER TABLE ADD COLUMN 的日期常量/文字

    如何定义可使用的常量 日期文字ALTER TABLE ADD COLUMN 根据文档 日期和时间常数 常量 也称为文字 是指固定的数据值 Snowflake 支持使用字符串常量来指定固定的日期 时间或时间戳值 字符串常量必须始终包含在分隔符
  • 使用 jQuery 进行跨域 ajax JSONP 请求

    我想使用 jquery ajax 解析 JSON 数组数据 代码如下
  • 使用 GAWK 5,是否可以获得当前行号(代码的行号,而不是输入!)、当前函数和源代码文件名?

    在某些语言 例如 Python 中 可以使用多个 元数据 记录数据 例如 filename 函数名 电话号码 etc 例如 在Python中 import logging logging basicConfig level INFO for
  • 在调用超类型构造函数之前无法引用 this

    我正在尝试用Java 实现一个循环队列类 为此 我必须创建一个节点类来将元素和指向下一个节点的指针分组在一起 作为循环 节点需要能够指向自身 然而 当我去编译下面的代码时 编译器 javac 告诉我我的构造函数 即第 5 行和第 8 行 做
  • 在我的 Java 游戏项目中过度使用静态?

    我目前正在用 Java 开发一个小平台 并为其编写了自己的游戏引擎 名为Bonsai 现在我问自己一个问题 我是否过度使用了静态 一方面 它非常方便 因为我不必在每个类中保留对游戏实例 如地图或玩家 的引用 另一方面 我已经不得不取消小程序
  • .htaccess 基于 HTTP_REFERER 重定向

    我正在尝试执行上面所说的操作 但出现循环错误 有时还会出现 500 错误 我想要的是请求重定向到网站的根 主页 页面的用户 Welcome 除非他们已经在浏览该网站 这是我的代码 Options FollowSymLinks Rewrite
  • 何时在 Python 中使用 %r 而不是 %s? [复制]

    这个问题在这里已经有答案了 On 艰难地学习Python第21页 我看到这个代码示例 x There are d types of people 10 print I said r x Why is r在这里使用而不是 s 你什么时候用 r
  • SwiftUI 通过 TabView 以模态方式呈现视图?

    我有一个TabView设置如下 struct ContentView View State private var selection 0 State var newListingPresented false var body some
  • 存储过程中的“@”符号?

    我尝试在网上寻找答案 但找不到任何明确的解释 存储过程中的 是否有某种特殊目的 表示特定的东西 我对何时使用它有点困惑 因为示例似乎在其用法上有所不同 例如 在下面的示例中使用了 DELIMITER DROP PROCEDURE IF EX
  • 在 Scala 中提取两个字符串之间的字符串

    我有一个像这样的字符串序列 val foo Seq bar scala baz bar java baz bar python baz 我需要提取之间的所有内容bar and baz这样我就会得到这样的东西 val foobarbaz Se
  • mySQL - 我应该非规范化吗?

    Overview 抱歉 它含糊不清 我认为如果我讲得更详细 事情就会变得过于复杂 我有三个表 表一包含一个 id 表二包含其自己的 id 和表一的 id 表三包含其自己的 id 和表二的 id 我花了很多时间思考 我认为表三也包含相关表的
  • Excel合并总和产生不同列总计

    我有两列 如下所示 Make Model Parc Abarth 500 15 Abarth 500 19 Abarth 500 2 Abarth 500 14 Abarth 500 15 Abarth 500 25 Abarth 500
  • 如何通过 docker run 将参数传递给 Shell 脚本

    我是码头工人世界的新手 我必须调用一个 shell 脚本 该脚本通过 docker 容器获取命令行参数 例如 我的 shell 脚本如下所示 bin bash echo 1 Dockerfile 看起来像这样 FROM ubuntu 14
  • 如何扩展最终类?(Reflection,Javassist)

    我有一个 JAR 文件 它有大量的类 一 我需要的被设置为最终的 所以我不能扩展它 有一种方法 我基本上必须扩展和修复 否则一切都会崩溃 我怎样才能做到这一点 我知道 Reflection 和 Javassist 可以用于此目的 但我不知道