这可能看起来有点奇怪,但我需要永远解释为什么我需要它......
我需要的是一种在JAR文件中使用命令提示符或在我的Python程序中编辑预先存在的Java .class文件的方法。一旦用户按下按钮,我就需要它自动发生。
我完全不知道如何做到这一点,或者是否可能。
答案 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)在运行时。
编辑:实际上,杰弗里的名单更好,因为它提供了更全面的字节代码操纵器列表。