Skip to content

[MWRAPPER-114] Maven wrapper relative distributionUrl does not work on Windows #272

Description

@jira-importer

Edward Woolhouse opened MWRAPPER-114 and commented

If Maven Wrapper is used with a relative distributionUrl on Windows then an error message indicating invalid path characters is shown.

 

1. Directory structure 
./mvnw
./mvnw.cmd
./.mvn/wrapper/maven-wrapper.jar
./.mvn/wrapper/maven-wrapper.properties
...
1. maven-wrapper.properties
distributionUrl=apache-maven-3.8.8-bin.zip
wrapperUrl=maven-wrapper.jar

When run

./mvnw

...
java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/some-path/apache-maven-3.8.8.zip 

This is caused by PathAssembler.java:getBaseName unnecessarilly stringifying the distibution URL. The fix is as follows

    private String getBaseName(URI distUrl) {
-       return Paths.get(distUrl.getPath()).getFileName().toString();
+       return Paths.get(distUrl).getFileName().toString();
    }

 


Affects: 3.2.0

Remote Links:

Activity

  1. jira-importer commented on Aug 10, 2023

    @jira-importer
    Author

    Edward Woolhouse commented

    Well, it's not as simple a fix as that, as this fix would break the ability to use non-local paths. Needs a little more thought. Maybe special handling for the file:/// scheme?

  2. jira-importer commented on Aug 14, 2023

    @jira-importer
    Author

    Edward Woolhouse commented

    Pull request raised #107

  3. jira-importer commented on Sep 18, 2024

    @jira-importer
    Author

    Edward Woolhouse commented

    The above comment

    The proposed fix does not actually fix the reported issue.
    Relative paths, such as `distributionUrl=apache-maven-3.8.8-bin.zip` does not have a `file` schema nor use a full local path (as per the tests provided).
    Or did I miss something? 

    was withdrawn and deleted with a message along the lines of 'I've tested it, it does work after all'

    The bot helpfully copied the first comment, but not the retraction. Is anyone able ot push this over the line? I'm happy to address any issues people have with it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions