Bug 24199 New Classpath Variables
Why should a full rebuild of the workspace be required when you add a classpath variable? Because it's a new variable it doesn't affect any existing projects. It would be more convenient if a rebuild were not required when adding a new classpath variable. Thanks.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/VariableBlock.java
}
	
	
	public void performDefaults() {
		fVariablesList.removeAllElements();
		String[] reservedName= getReservedVariableNames();
		for (int i= 0; i < reservedName.length; i++) {
			CPVariableElement elem= new CPVariableElement(reservedName[i], Path.EMPTY, true);
			elem.setReserved(true);
			fVariablesList.addElement(elem);
		}
	}
	public boolean performOk() {
		List toRemove= new ArrayList();
		toRemove.addAll(Arrays.asList(JavaCore.getClasspathVariableNames()));
		
		List elements= fVariablesList.getElements();
		for (int i= elements.size()-1; i >= 0; i--) {
			CPVariableElement curr= (CPVariableElement) elements.get(i);
			if (curr.isReserved()) {
				elements.remove(curr);
			} else {
				IPath path= curr.getPath();
				IPath prevPath= JavaCore.getClasspathVariable(curr.getName());
				if (prevPath != null && prevPath.equals(path)) {
					elements.remove(curr);
				}
			}
			toRemove.remove(curr.getName());
		}