使用JCodeModel

时间:2015-06-16 12:36:31

标签: java code-generation jcodemodel

我创建了包含我想要生成的所有类的JCodeModel。 问题是我想生成字节码(.class文件)和jar而不是源。 有没有一种优雅的方法可以在不生成.java文件的情况下执行此操作,然后将其编译为.class文件和jar?

1 个答案:

答案 0 :(得分:0)

您可以考虑使用以下几种Java字节代码生成器之一:Any Java Bytecode Generation Guide?

但是如果你更喜欢处理JCodeModel lib,你可以选择将中间java代码作为临时阶段保存在内存中。这是一系列提示:

(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字段左右)。