我尝试过以下代码,但没有匹配。请帮我解决一下这个。
SearchPattern pattern = SearchPattern.createPattern(packageName,IJavaSearchConstants.PACKAGE,IJavaSearchConstants.PACKAGE,IJavaSearchConstants.ALL_OCCURRENCES);
IJavaSearchScope scope = SearchEngine.createWorkspaceScope();
PackageSearchRequestor requestor=new PackageSearchRequestor();
SearchEngine searchEngine = new SearchEngine();
searchEngine.search(pattern, new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, scope, requestor, null);
注意:我目前通过遍历工作空间中的所有项目并调用IJavaProject的getAllPackageFragmentRoots()并迭代包并匹配元素名称来实现此目的。但我认为使用SearchPattern将是更好的方法。
答案 0 :(得分:0)
SearchPattern.createPattern
的参数与JavaDoc中描述的有效值不匹配。你可能想要这样的东西:
SearchPattern.createPattern(packageName, IJavaSearchConstants.PACKAGE,
IJavaSearchConstants.ALL_OCCURRENCES, SearchPattern.R_EXACT_MATCH);