Kedar Joshi created MNG-8129:
--------------------------------

             Summary: Incorrect relative path in transitive dependencies leads 
to build failure
                 Key: MNG-8129
                 URL: https://issues.apache.org/jira/browse/MNG-8129
             Project: Maven
          Issue Type: Bug
          Components: Core
    Affects Versions: 4.0.0-beta-3
            Reporter: Kedar Joshi


I was trying to build Spring Boot v3.3.0 project with latest beta and got 
following error (which does not occur on v3.9.x) -

 
{code:java}
[ERROR] Internal error: java.nio.file.InvalidPathException: Illegal char <:> at 
index 10: org.apache:apache -> [Help 1]
org.apache.maven.InternalErrorException: Internal error: 
java.nio.file.InvalidPathException: Illegal char <:> at index 10: 
org.apache:apache
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:157)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:958)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:205)
    at 
jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke(Method.java:580)
    at 
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:255)
    at 
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:201)
    at 
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:361)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:314)
Caused by: java.nio.file.InvalidPathException: Illegal char <:> at index 10: 
org.apache:apache
    at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:204)
    at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:175)
    at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
    at sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
    at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:231)
    at java.nio.file.Path.resolve(Path.java:516)
    at org.apache.maven.api.services.PathSource.resolve(PathSource.java:65)
    at 
org.apache.maven.internal.impl.model.DefaultModelBuilder.getParentPomFile(DefaultModelBuilder.java:1046)
    at 
org.apache.maven.internal.impl.model.DefaultModelBuilder.readParentLocally(DefaultModelBuilder.java:934)
    at 
org.apache.maven.internal.impl.model.DefaultModelBuilder.readParent(DefaultModelBuilder.java:904)
 {code}
This exception occurs in *org.apache.maven.api.services.PathSource#resolve* 
method when parameter *relative* has value *org.apache:apache* since on Windows 
`:` is not allowed in file names.

In Maven v3.x, this scenario is handled with `exists` check on the parent file 
and thus issue does not occur. No such check is done in v4.0.

The source of the issue lies in 
*<relativePath>org.apache:apache</relativePath>* declaration in 
{*}https://repo.maven.apache.org/maven2/org/apache/activemq/artemis-project/2.33.0/artemis-project-2.33.0.pom{*}.
 As we can see, relative path *org.apache:apache* does not actually exist. 

 

I am using Windows 10 64 Bit.

 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to