2011-05-02 46 views
0

我只是想知道是否有任何Java类编辑器在J2ME环境中工作。我已经看过了使用Java 1.4的aspectwerkz,但是有一些依赖关系在J2ME上不起作用,再加上它对我的项目来说太大了。我也看了一下Objectweb ASM,但它需要Java 5.我见过其他库,比如BCEL和AspectJ,但它们都不起作用。所以基本上,我正在寻找一个可以修改类文件的Java库(不管是否通过字节码)并运行在J2ME环境中。谢谢。J2ME上的Java类/字节码编织/编辑?

+0

我发现asm版本3.3.1适用于J2ME和HelloWorld示例。我想我会处理这个问题,但是如果能够插入原始Java代码的AspectJ之类的“高级”库,那将是很好的选择。如果没有像J2ME那样的东西存在,我想我可以自己创建这个库。 – Yifan 2011-05-02 21:02:41

回答

1

Javassist看起来像它会。请参阅教程的最后一页。

+0

谢谢!我之前看过一个Javassist,但它给了我一个错误:“javassist.CannotCompileException:找不到java.lang.Object”这很可能是因为我正在使用java cvm预装很多类。我只是将Object.class添加到我的类路径,它工作。也许我会修改源代码以做得更好。 – Yifan 2011-05-02 21:18:59

+0

另外,Javassist是否支持“实时编辑”。例如,我编写了一个自定义的类加载器,在加载它之前在内存中修补类,并且实际上并不触及类文件? – Yifan 2011-05-02 21:19:43

+0

你问你是否可以修改没有从类文件加载的类?如果是这样,我认为是这样;请参阅教程。 – Ladlestein 2011-05-02 22:41:20

0

Retroweaver是要看的东西。由于源代码可用,您可能可以根据需要对其进行修改。