Index: src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java =================================================================== --- src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java (revision 688519) +++ src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java (working copy) @@ -32,7 +32,6 @@ import java.util.ListIterator; import java.util.Map; import java.util.Set; -import java.util.TreeSet; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.handler.ArtifactHandler; @@ -1275,15 +1274,10 @@ File projectBaseDir = project.getFile().getParentFile(); // avoid duplicated entries - Set directories = new TreeSet(); + Set directories = new LinkedHashSet(); - extractSourceDirs( directories, project.getCompileSourceRoots(), basedir, projectBaseDir, false, null ); - String relativeOutput = IdeUtils.toRelativeAndFixSeparator( projectBaseDir, buildOutputDirectory, false ); - extractResourceDirs( directories, project.getBuild().getResources(), project, basedir, projectBaseDir, false, - relativeOutput ); - // If using the standard output location, don't mix the test output into it. String testOutput = null; boolean useStandardOutputDir = @@ -1300,9 +1294,14 @@ } extractSourceDirs( directories, project.getTestCompileSourceRoots(), basedir, projectBaseDir, true, testOutput ); + + extractSourceDirs( directories, project.getCompileSourceRoots(), basedir, projectBaseDir, false, null ); extractResourceDirs( directories, project.getBuild().getTestResources(), project, basedir, projectBaseDir, true, testOutput ); + + extractResourceDirs( directories, project.getBuild().getResources(), project, basedir, projectBaseDir, false, + relativeOutput ); return (EclipseSourceDir[]) directories.toArray( new EclipseSourceDir[directories.size()] ); }