我已经创建了包含所有我想要生成的类的JCodeModel。问题是我想生成字节码(.class文件)和一个jar,而不是源代码。有没有一种优雅的方法可以不用生成.java文件,然后将其编译成.class文件和jar文件?
发布于 2015-09-12 06:01:02
您可以考虑以下几种java字节码生成器之一:Any Java Bytecode Generation Guide?
但是,如果您更喜欢使用java lib,您可以选择将中间JCodeModel代码作为临时阶段保存在内存中。下面是一系列提示:
(1)下面是一个如何在内存中获取java源文本的示例:Compile dynamically generated class at runtime w/o writing to File
(2)然后,您可以使用类似的东西再次将编译后的字节代码保存在内存中:https://github.com/trung/InMemoryJavaCompiler/blob/master/src/main/java/org/mdkt/compiler/InMemoryJavaCompiler.java
(3)最后,要从存储在内存中的字节代码创建jar文件,只需做类似于:How to use JarOutputStream to create a JAR file?的事情:
PS:最后一个阶段可以作为流直接写入数据库(BLOB字段或更多)。
https://stackoverflow.com/questions/30867788
复制相似问题