Generate bytecode from Eclipse's CompilationUnit
I am not working on an Eclipse plug-in project; however, I use an external library that generates an instance of org.eclipse.jdt.core.dom.CompilationUnit. Is there 开发者_开发百科a way to generate Java bytecode from it?
Some searching revealed that CompilationUnit's are typically built by registering a custom builder for the Eclipse project, then letting eclipse invoke it... but I couldn't find any way to leverage that for a stand-alone application.
I suggest to have a look at the code in Apache Commons JCI. It implements an eclipse compiler for standalone applications.
The Partial Program Analysis for Java tool can, theoretically, do this, by using the PPAUtil
class:
PPAUtil.compileCU(myCompilationUnit, baseOutputFolder)
Though in practice it only expects CompilationUnit
instances it creates by itself with PPAUtil.getCU(file, options, reqName, false)
, so I don't know if it will work on a CompilationUnit
instance not produced this way.
精彩评论