赞
踩
- import org.eclipse.core.resources.IProject;
- import org.eclipse.core.resources.IResource;
- import org.eclipse.core.resources.ResourcesPlugin;
- import org.eclipse.core.runtime.CoreException;
- import org.eclipse.jdt.core.ICompilationUnit;
- import org.eclipse.jdt.core.IImportDeclaration;
- import org.eclipse.jdt.core.IJavaElement;
- import org.eclipse.jdt.core.IJavaProject;
- import org.eclipse.jdt.core.IPackageFragment;
- import org.eclipse.jdt.core.IPackageFragmentRoot;
- import org.eclipse.jdt.core.JavaCore;
- import org.eclipse.jdt.core.JavaModelException;
-
- public class ImportPrinter {
-
- public void printProjectImports(String projectName) {
- try {
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
- if (project.isNatureEnabled("org.eclipse.jdt.core.javanature")) {
- IJavaProject javaProject = JavaCore.create(project);
- printImports(javaProject);
- }
- } catch (CoreException e) {
- e.printStackTrace();
- }
- }
-
- private void printImports(IJavaProject javaProject) throws JavaModelException {
- IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
- for (IPackageFragmentRoot root : roots) {
- if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
- for (IJavaElement element : root.getChildren()) {
- if (element instanceof IPackageFragment) {
- IPackageFragment packageFragment = (IPackageFragment) element;
- for (ICompilationUnit unit : packageFragment.getCompilationUnits()) {
- printUnitImports(unit);
- }
- }
- }
- }
- }
- }
-
- private void printUnitImports(ICompilationUnit unit) throws JavaModelException {
- for (IImportDeclaration importDecl : unit.getImports()) {
- System.out.println("Import in " + unit.getElementName() + ": " + importDecl.getElementName());
- }
- }
- }

在这段代码中:
这段代码将遍历指定Java工程中的所有源代码文件,并打印出每个文件中的所有import语句。确保在开发Eclipse插件时,你的插件项目已经正确配置了对Eclipse JDT的依赖。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。