java - 在运行时使用 Eclipse 编译外部 Java 文件
问题描述
是否可以使用 eclipse 使用的 Java 编译器而不是 JDK 动态编译外部 .java 文件?
我想要我的代码做的是:
- 动态创建 .java 文件
- 编译那个 .java 文件
- 使用反射获取有关此文件的信息
我知道如何执行第 1 步和第 3 步,但第 2 步是否可以仅使用 Eclipse 或有更好的方法来完成我想要的?
解决方案
是的,您可以为此使用 Java 编译器。您不需要编译.java
文件,只需解析它以获得包含信息的抽象语法树(AST):
- 将所需的 Eclipse 编译器 JAR作为依赖项添加到 Java 应用程序
- 创建一个 AST 并获取你想要的信息,例如在这个例子中
推荐阅读
- r - 将 qualtRics::fetch_survey() 与部分一起使用时出错
- java - 为什么不传递给 Mockito.when 不使用?
- angular - 带有角度的离子单选按钮不限制每组一个选择
- javascript - 如何基于 html 获取变量定义/质量 png?
- python - Swagger Django Rest-Framwork 中未显示文件上传器
- oauth-2.0 - 我应该在本机、公共可下载的应用程序中使用 client_secret 吗?
- python - Find locations by name in Google Maps API within lat/lng bounds
- kubernetes - 从容器中获取所有 k8s pod 的 IP 地址
- ios - 愚蠢的问题:如何让 AVPlayer 看起来像其他人的一样?
- javascript - 如何通过 JavaScript 获取媒体查询定义的当前 CSS 值?