#deployment #maven #webdav
#развертывание #maven #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. Создание каталога работает с использованием FTP?
2. да, это так, извините за недостаточную точность.
3. Ха-ха, не беспокойтесь 🙂 . Вы должны добавить это в качестве ответа: я проголосую за это!
Ответ №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
(см. Идентификатор репозитория в pom).
<server>
<id>RepoId</id>
<username>login</username>
<password>pass</password>
</server>
Комментарии:
1. Извините, что не вернулся к вам раньше, используя OSX Finder, я могу создавать каталоги через dav. Извините, я не могу предоставить вам больше информации, но теперь он работает через FTP, поэтому мы решили придерживаться FTP.
2. Определен ли сервер DAV в settings.xml ? См. Отредактированное сообщение.
3. Извините, я совершенно забыл вернуться сюда раньше; оказалось, что он работает с использованием FTP, и я предполагаю, что здесь виновата наша реализация DAV, по какой-то причине, которую я не помню. Я все еще принял ваш ответ (спустя более года :))