【问题标题】:Get list of packages in a java project获取java项目中的包列表
【发布时间】:2012-11-28 14:33:27
【问题描述】:

我正在使用下面的代码来获取给 java 项目中的包列表。但它也包括列表中的文件夹。请提出一种忽略文件夹的方法。

final IPackageFragmentRoot[] packageFragmentRootArray = workingJavaProject.getJavaProject().getAllPackageFragmentRoots();

for (final IPackageFragmentRoot packageFragmentRoot : pkgFrgmRoots) {
        if (!packageFragmentRoot.isArchive()) {
            for (final IJavaElement pkg : packageFragmentRoot.getChildren()) {
                if (pkg != null && !isEmpty(pkg.getElementName()) && pkg instanceof IPackageFragment) {
                    allPackages.add((IPackageFragment) pkg);
                }
            }
        }
    }

【问题讨论】:

    标签: java eclipse namespaces package


    【解决方案1】:

    IPackageFragment 可以是 IFiles、IFolders 或 IStorages 的实例化。一种可能的解决方案:

    if (pkg != null && !isEmpty(pkg.getElementName()) && pkg instanceof IPackageFragment) {
        if (!(pkg instanceof IFolder)) {
            allPackages.add((IPackageFragment) pkg);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2017-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 1970-01-01
      • 2020-05-06
      • 2011-08-21
      相关资源
      最近更新 更多