Index: maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java =================================================================== --- maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java (revision 666772) +++ maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java (working copy) @@ -514,8 +514,13 @@ uncleanPath = uncleanPath.substring( protocolIdx + 3 ); } - if ( uncleanPath.startsWith( "/" ) ) + if ( uncleanPath.startsWith( "//" ) ) { + // preserve leading double slash for UNC paths like "file:////host/pom.xml" + cleanedPath += "//"; + } + else if ( uncleanPath.startsWith( "/" ) ) + { cleanedPath += "/"; } Index: maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java =================================================================== --- maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java (revision 666772) +++ maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java (working copy) @@ -221,6 +221,18 @@ assertEquals( "Append with path adjustment failed.", "http://maven.apache.org/shared/file-management", result ); } + public void testAppendPathUNC() + { + String parentPath = "file:////host/shared/maven-shared-parent"; + String childPath = "file-management"; + String pathAdjustment = null; + + String result = + ( (DefaultModelInheritanceAssembler) assembler ).appendPath( parentPath, childPath, pathAdjustment, true ); + + assertEquals( "file:////host/shared/maven-shared-parent/file-management", result ); + } + public void testDistributionManagementInheritance() { Model parent = makeBaseModel( "parent" );