Index: src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathUtil.java =================================================================== --- src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathUtil.java (revision 744695) +++ src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathUtil.java (working copy) @@ -59,12 +59,19 @@ */ public static void addCPContainer(IJavaProject project, IPath projectRelativePath, String confs) { try { + IClasspathEntry[] entries = project.getRawClasspath(); + List newEntries = Arrays.asList(entries); + // don't add if ivy classpath already exists + for (int i = 0; i < newEntries.size(); i++) { + IClasspathEntry entry = (IClasspathEntry) newEntries.get(i); + if (entry.getPath().segment(1).equals(IvyClasspathContainer.CONTAINER_ID)) { + return; + } + } + IClasspathEntry newEntry = JavaCore.newContainerEntry(new Path( IvyClasspathContainer.CONTAINER_ID).append(projectRelativePath).append(confs)); - IClasspathEntry[] entries = project.getRawClasspath(); - - List newEntries = new ArrayList(Arrays.asList(entries)); newEntries.add(newEntry); entries = (IClasspathEntry[]) newEntries .toArray(new IClasspathEntry[newEntries.size()]);