@Override public void elementChanged(ElementChangedEvent event) { final Set<IProject> projects = getAffectedProjects(event.getDelta(), new HashSet<IProject>()); if (projects.isEmpty()) { return; } try { final Set<String> projectLocations = new HashSet<String>(); for (final IProject project : projects) { projectLocations.add(ResourceUtils.fixURI(project.getLocationURI())); } final JDTLanguageServer ls = JavaLanguageServerPlugin.getInstance().getProtocol(); ls.getClientConnection().sendNotification(CLIENT_UPDATE_CLASSPATH, (Object[]) projectLocations.toArray(new String[projectLocations.size()])); } catch (final Exception e) { // Ignore. JavaLanguageServerPlugin.logException("An exception occured while reporting project CLASSPATH change", e); } }