diff --git a/its/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java b/its/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java
index 6d24b81442..588e3c2ea2 100644
--- a/its/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java
+++ b/its/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java
@@ -141,7 +141,7 @@ public class IntegrationTestSuite
suite.addTestSuite( MavenIT0087Test.class );
suite.addTestSuite( MavenIT0088Test.class );
suite.addTestSuite( MavenIT0089Test.class );
- suite.addTestSuite( MavenIT0090Test.class);
+ suite.addTestSuite( MavenIT0090Test.class );
suite.addTestSuite( MavenIT0092Test.class );
suite.addTestSuite( MavenIT0094Test.class );
suite.addTestSuite( MavenIT0095Test.class );
@@ -159,10 +159,11 @@ public class IntegrationTestSuite
suite.addTestSuite( MavenIT0113ServerAuthzAvailableToWagonMgrInPlugin.class );
suite.addTestSuite( MavenIT0114ExtensionThatProvidesResources.class );
suite.addTestSuite( MavenIT0118AttachedArtifactsInReactor.class );
- suite.addTestSuite( MavenITmng2254PomEncodingTest.class);
+ suite.addTestSuite( MavenITmng2254PomEncodingTest.class );
suite.addTestSuite( MavenIT0129ResourceProvidedToAPluginAsAPluginDependency.class );
- suite.addTestSuite( MavenITmng2045testJarDependenciesBrokenInReactorTest.class);
- suite.addTestSuite( MavenITmng2277AggregatorAndResolutionPluginsTest.class);
+ suite.addTestSuite( MavenITmng2045testJarDependenciesBrokenInReactorTest.class );
+ suite.addTestSuite( MavenITmng2277AggregatorAndResolutionPluginsTest.class );
+ suite.addTestSuite( MavenITmng1412DependenciesOrderTest.class );
// ----------------------------------------------------------------------------------------------------
// Tests that need to be fixed.
diff --git a/its/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng1412DependenciesOrderTest.java b/its/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng1412DependenciesOrderTest.java
new file mode 100644
index 0000000000..986b108ce8
--- /dev/null
+++ b/its/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng1412DependenciesOrderTest.java
@@ -0,0 +1,43 @@
+package org.apache.maven.integrationtests;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.integrationtests.AbstractMavenIntegrationTestCase;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+/**
+ * Test that dependencies order in classpath matches pom.xml.
+ *
+ * @author Herve Boutemy
+ *
+ */
+public class MavenITmng1412DependenciesOrderTest
+ extends AbstractMavenIntegrationTestCase
+{
+ public MavenITmng1412DependenciesOrderTest()
+ throws InvalidVersionSpecificationException
+ {
+ super( "(2.0.8,)" ); // 2.0.9+
+ }
+
+ public void testitMNG1412()
+ throws Exception
+ {
+ // The testdir is computed from the location of this file.
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-1412-DependenciesOrder" );
+
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+
+ List cliOptions = new ArrayList();
+ cliOptions.add( "-N" );
+ verifier.executeGoal( "test" );
+
+ verifier.verifyErrorFreeLog();
+
+ verifier.resetStreams();
+ }
+}
diff --git a/its/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/pom.xml b/its/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/pom.xml
new file mode 100644
index 0000000000..88a4b0ef32
--- /dev/null
+++ b/its/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/pom.xml
@@ -0,0 +1,35 @@
+
+ 4.0.0
+ org.apache.maven.its
+ maven-it-MNG1412-DependenciesOrder
+ 0.0.1-SNAPSHOT
+ Check that dependencies are available in classpath in same order as declared in POM
+
+
+ commons-net
+ commons-net
+ 1.4.1
+
+
+ commons-collections
+ commons-collections
+ 3.2
+
+
+ commons-lang
+ commons-lang
+ 2.3
+
+
+ commons-io
+ commons-io
+ 1.3.1
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
\ No newline at end of file
diff --git a/its/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/java/org/apache/maven/its/itmng1412/ITmng1412DependenciesOrderTest.java b/its/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/java/org/apache/maven/its/itmng1412/ITmng1412DependenciesOrderTest.java
new file mode 100644
index 0000000000..6055839a16
--- /dev/null
+++ b/its/core-integration-tests/src/test/resources/mng-1412-DependenciesOrder/src/test/java/org/apache/maven/its/itmng1412/ITmng1412DependenciesOrderTest.java
@@ -0,0 +1,55 @@
+package org.apache.maven.its.itmng1412;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.jar.Attributes;
+import java.util.jar.Manifest;
+
+import org.apache.commons.lang.StringUtils;
+
+import junit.framework.TestCase;
+
+/**
+ * Test that dependencies order in classpath matches pom.xml.
+ *
+ * @author Herve Boutemy
+ *
+ */
+public class ITmng1412DependenciesOrderTest
+extends TestCase
+{
+ private final static String[] EXTENSIONS = {
+ // same order as in pom.xml
+ "commons-net",
+ "commons-collections",
+ "commons-lang",
+ "commons-io",
+ };
+
+ public void testOrder() throws IOException
+ {
+ String expected = StringUtils.join( EXTENSIONS, ',' );
+ StringBuffer found = new StringBuffer();
+
+ Enumeration resources = this.getClass().getClassLoader().getResources( "META-INF/MANIFEST.MF" );
+ while ( resources.hasMoreElements() )
+ {
+ URL url = (URL) resources.nextElement();
+
+ Manifest manifest = new Manifest( url.openStream() );
+ Attributes attributes = manifest.getMainAttributes();
+ String extensionName = attributes.getValue( "Extension-Name" );
+
+ if ( ( extensionName != null ) && extensionName.startsWith( "commons" ) )
+ {
+ if ( found.length() > 0 )
+ {
+ found.append( ',' );
+ }
+ found.append( extensionName );
+ }
+ }
+ assertEquals( "dependencies order in classpath should match pom.xml", expected, found.toString() );
+ }
+}