Использование mvn deploy через webdav: создание каталога
Мне удалось настроить maven, чтобы он автоматически загружал последний снимок нашего программного обеспечения в наш общедоступный репозиторий maven. Это прекрасно работает до сих пор, есть только небольшой недостаток, с которым я просто не могу справиться:
При развертывании нового снимка, скажем, например::
<version>1.2-SNAPSHOT</version>
каталог с именем 1.2-SNAPSHOT
должен присутствовать в каталоге maven нашего веб-сервера, в противном случае maven потерпит неудачу, заявив:
Failed to deploy artifacts: Could not transfer artifact ... from/to basex.mvn
(http://abc.de/webdav/): Access denied to: http://abc.de/webdav/1.2-SNAPSHOT/...
Как обычно при запуске нового снимка этот самый каталог не является тем не менее присутствует, поэтому я в конечном итоге создаю его вручную.
Есть ли у вас идеи, как обойти это и заставить maven создать эту папку?
1 ответ:
Вы уверены, что это не проблема на стороне сервера? Я развернул несколько библиотек, используя Webdav (через HTTPS), и первый раз (с созданием каталога) это сработало.
Файл
Pom.xml
должен содержать описание сервера распространения.<distributionManagement> <repository> <id>RepoId</id> <name>Name of the Maven repository</name> <url>dav:https://thewebdavurl/</url> <uniqueVersion>false</uniqueVersion> </repository> </distributionManagement>
Чтобы включить создание каталога, вам может потребоваться войти на сервер. Для этого нужно добавить в серверную часть
setting.xml
учетные данные дляRepoId
(см. id репозитория в pom).<server> <id>RepoId</id> <username>login</username> <password>pass</password> </server>