Код: Выделить всё
WorkspaceJob job = new WorkspaceJob("AddingNature") {
@Override
public IStatus runInWorkspace(IProgressMonitor monitor)
throws CoreException {
try {
IProjectDescription description = activeProject
.getDescription();
String[] prevNatures = description.getNatureIds();
String[] newNatures = new String[prevNatures.length + 1];
System.arraycopy(prevNatures, 0, newNatures, 0,
prevNatures.length);
newNatures[prevNatures.length] = ID;
description.setNatureIds(newNatures);
activeProject.setDescription(description,
new NullProgressMonitor());
return Status.OK_STATUS;
} catch (CoreException e) {
LOGGER.log(Level.SEVERE, WARNING_NATURE_FAIL, e.getMessage());
return Status.CANCEL_STATUS;
}
}
job.schedule()
"Дерево ресурсов заблокировано для внесения изменений".
Трассировка стека исключений недоступна.
Я думал, что планирование должно избегать блокировки дерева ресурсов.
Что я могу сделать, чтобы предотвратить это? Есть ли другой способ добавить природу/конвертировать проекты
Этот код вызывается из пункта меню с использованием класса, расширяющего AbstractHandler.
Подробнее здесь: https://stackoverflow.com/questions/269 ... ng-project
Мобильная версия