我不是在做一个 Eclipse 插件项目;但是,我使用生成 org.eclipse.jdt.core.dom.CompilationUnit 实例的外部库。有没有办法从中生成 Java 字节码?
一些搜索显示,CompilationUnit 通常是通过为 Eclipse 项目注册一个自定义构建器,然后让 eclipse 调用它来构建的……但我找不到任何方法来利用它来构建独立的应用程序。
我不是在做一个 Eclipse 插件项目;但是,我使用生成 org.eclipse.jdt.core.dom.CompilationUnit 实例的外部库。有没有办法从中生成 Java 字节码?
一些搜索显示,CompilationUnit 通常是通过为 Eclipse 项目注册一个自定义构建器,然后让 eclipse 调用它来构建的……但我找不到任何方法来利用它来构建独立的应用程序。
我建议看一下Apache Commons JCI中的代码。它为独立应用程序实现了一个Eclipse 编译器。
理论上,Java 工具的Partial Program AnalysisPPAUtil
可以通过使用以下类来做到这一点:
PPAUtil.compileCU(myCompilationUnit, baseOutputFolder)
虽然在实践中它只期望CompilationUnit
它自己创建的实例PPAUtil.getCU(file, options, reqName, false)
,所以我不知道它是否适用于CompilationUnit
不是以这种方式生成的实例。