从 Eclipse 的 CompilationUnit 生成字节码
我不从事 Eclipse 插件项目;但是,我使用一个外部库来生成 org.eclipse.jdt.core.dom.CompilationUnit 的实例。有没有办法从它生成Java字节码?
一些搜索显示 CompilationUnit 通常是通过为 Eclipse 项目注册自定义构建器,然后让 Eclipse 调用它来构建的......但我找不到任何方法将其用于独立应用程序。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我建议查看 Apache Commons JCI 中的代码。它实现了 用于独立应用程序的 eclipse 编译器。
I suggest to have a look at the code in Apache Commons JCI. It implements an eclipse compiler for standalone applications.
理论上,Java 部分程序分析工具可以通过使用
来做到这一点PPAUtil
类:虽然实际上它只需要使用
PPAUtil.getCU(file, options, reqName, false)
自己创建的CompilationUnit
实例,所以我不不知道它是否适用于不是以这种方式生成的 CompilationUnit 实例。The Partial Program Analysis for Java tool can, theoretically, do this, by using the
PPAUtil
class:Though in practice it only expects
CompilationUnit
instances it creates by itself withPPAUtil.getCU(file, options, reqName, false)
, so I don't know if it will work on aCompilationUnit
instance not produced this way.