WAGON-121 describes this problem.
wagon-http doesn't create parent dirs when uploading a file over webdav
e.g. webdav PUT /maven/io/jooby/jooby-project/2.11.1-SNAPSHOT/jooby-project-2.11.1-20220107.184108-1.pom HTTP/1.1 will fail with 403 if any of the parent dirs are missing.
It was suggested in
WAGON-121 to use WebDAV verb MKCOL(defined in rfc4918) to create the intermediate dirs(recursively). WAGON-121 was closed as "wontfix" since webdav was out of scope of wagon-http, however things have changed since 2010, and webdav support seems to be folded to wagon-http now:
"This Wagon provider is deprecated and will be removed in version 4.0.0. Its features will be partially folded into the default HTTP provider."
I suggest we should recursively create directory structure for the files uploaded over the webdav.