当前位置: 首页 > 面试题库 >

Eclipse从.java文件创建CompilationUnit

欧阳鸿德
2023-03-14
问题内容

如何将.java文件加载到CompilationUnit中?例如,假设我在当前项目中有一个A.java文件。我想将其加载到CompilationUnit中,然后将其传递给ASTParser。仅将其加载为纯文本不是一种选择,因为在那种情况下,我似乎不会在AST中获取绑定信息。


问题答案:

您可以使用jdteclipse core库加载项目。

使用以下代码,您可以将所有项目加载到工作区中。

IWorkspace workspace = ResourcesPlugin.getWorkspace();
IWorkspaceRoot root = workspace.getRoot();
// Get all projects in the workspace
IProject[] projects = root.getProjects();

然后,您可以获取软件包,然后获取Java文件。

IPackageFragment[] packages = JavaCore.create(project).getPackageFragments();
IPackageFragment mypackage = packages.get(0); // implement your own logic to select package
ICompilationUnit unit = mypackage.getCompilationUnits();

然后,您可以使用此ICompilationUnit对象获取CompilationUnit

ASTParser parser = ASTParser.newParser(AST.JLS3); 
parser.setKind(ASTParser.K_COMPILATION_UNIT);
parser.setSource(unit);
parser.setResolveBindings(true);
CompilationUnit cUnit = parser.createAST(null);

可以将此CompilationUnit对象传递给ASTParser。



 类似资料:
  • 主要内容:打开Jar文件向导,,使用Jar文件向导,打开Jar文件向导 Jar File 向导可用于将项目的内容导出为 jar 文件。调出 Jar 文件向导 : 在包资源管理器中选择要导出的项目。如果要导出项目中的所有类和资源,只需选择项目即可。 单击文件菜单并选择导出。 在导出向导第一页的过滤器文本框中,输入JAR。 在 Java 类别下选择JAR文件。 单击“下一步”。 使用Jar文件向导 在 JAR 文件规范页面中 : 输入 JAR 文件名和

  • 主要内容:打开新建XML文件向导,新建XML文件,查看新建的XML文件打开新建XML文件向导 您可以使用新建 XML 文件向导来创建 XML 文件。调用这个向导 : 单击“File”菜单并选择“New”→“Other”或 单击新的下拉框 ( ) 选择其他或 按 ctrl + N 一旦出现选择向导对话框 : 在过滤器文本框中输入 xml,这应该只显示与 xml 相关的向导。 展开 XML 类别并选择 XML 文件。 单击“下一步”以打开“新建 XML 文件”向导。 如

  • 打开新建 XML 文件向导 你可以使用新建 XML 文件向导来创建 XML 文件。打开向导的方式有: 点击 File 菜单并选择 New > Other 点击新建下拉框 () 选择 Other 快捷键组合: ctrl + N 在向导对话框中可以进行以下操作: 在输入框中输入 XML,会显示关联 XML 的向导 在展开的 XML 类别中选择 XML 文件 点击 Next 按钮进入新建 XML 文件向

  • 我得到了这个文件,但它不同于eclipse的一个输出。这个大约是100KB,eclipse输出超过2000KB。 我可以使用什么正确的命令来获得与Eclipse相同的文件?

  • 我想从Java创建一个DMG文件。 它需要是Java的原因有两个:它必须是我们构建场的一部分(目前在非Mac OS X平台上运行),并且我们的构建使用Maven(这几乎意味着Java)。 据我所知,DMG文件中可以包含ISO9660文件系统。我可以用这个创建这样的beast,但我仍然需要用DMG格式包装整个东西的部分。类似于iso2dmg的工具,只是我需要它用于Java。 回答时:忘记Maven部

  • 我正在构建一个创建XML文件的简单java程序。我正在构建以下代码: 但如果我尝试启动此代码,我会出现以下错误: 线程“AWT-EventQueue-0”java中出现异常。lang.AbstractMethodError:gnu。xml。dom。DomDocument。com上的getXmlStandalone()Z。太阳组织。阿帕奇。泽兰。内部的xsltc。特拉克斯。DOM2TO。com上的s