是否可以在我的程序中编辑预先存在的.class文件?

时间:2011-12-10 03:30:24

标签: java python class jar minecraft

这可能看起来有点奇怪,但我需要永远解释为什么我需要它......

我需要的是一种在JAR文件中使用命令提示符或在我的Python程序中编辑预先存在的Java .class文件的方法。一旦用户按下按钮,我就需要它自动发生。

我完全不知道如何做到这一点,或者是否可能。

3 个答案:

答案 0 :(得分:8)

jar文件是一个zip包,你只需要提取文件,编辑内容并将其放回去。更难的部分是如何编辑.class文件。 The java .class file is a binary format several libraries may help you

答案 1 :(得分:1)

是的,你可以这样做。现在你要怎么做取决于你想做什么。有关您的跨领域问题,请查看AspectJ。使用AspectJ,您甚至可以在编译类之后添加自定义代码。

答案 2 :(得分:1)

如果该类已由JVM类加载器加载,则此方法存在问题,因为在重新运行应用程序之前,它可能不会再次重新读取.class文件。

我知道存在BCEL,但我没有使用它,所以我不知道它是否可以用于python或b)在运行时。

编辑:实际上,杰弗里的名单更好,因为它提供了更全面的字节代码操纵器列表。