我正在使用org.eclipse.core.resources.IProject创建一个jar文件。在创建时我想根据文件扩展名从所选目录中排除几个文件。
if (selectPackageCombo.getText().equals(item)) {
IProject project = availableProjects.get(i);
Package package = EclipsePackageRepository.instance().getPackage(project);
if (package != null) {
try {
project.createFilter(IResourceFilterDescription.EXCLUDE_ALL| IResourceFilterDescription.FOLDERS|IResourceFilterDescription.FILES,
new FileInfoMatcherDescription("org.eclipse.ui.ide.multiFilter", "1.0-name-matches-false-false-Test"),IResource.BACKGROUND_REFRESH, new NullProgressMonitor());
} catch (CoreException e) {
e.printStackTrace();
}
jarData.setSelectedProject(project);
jarData.setOutputSuffix(package.getPackageResource().getType());
}
break;
}
请帮助我如何创建FileInfoMatcherDescription对象,以排除扩展名为“ .ayt ”的所有文件
答案 0 :(得分:0)
关于此的信息并不多,但看起来您可以通过使用项目属性中的“资源过滤器”页面并创建所需的过滤器来计算出值。然后,id和arguments值将保存在项目中的.project
文件中,您可以阅读。
因此,根据您的要求我
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-*.ayt</arguments>
</matcher>
所以构造函数是
new FileInfoMatcherDescription("org.eclipse.ui.ide.multiFilter",
"1.0-name-matches-false-false-*.ayt")