Использование mvn deploy через webdav: создание каталога - PullRequest
5 голосов
/ 05 октября 2011

Мне удалось настроить 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: <a href="http://abc.de/webdav/1.2-SNAPSHOT/" rel="noreferrer">http://abc.de/webdav/1.2-SNAPSHOT/</a>...

Как правило, при запуске нового снимка этого самого каталога еще нет, поэтому я в итоге создаю его вручную,

Есть ли у вас какие-либо идеи о том, как обойти это и заставить maven создать эту папку?

1 Ответ

1 голос
/ 07 октября 2011

Вы уверены, что это не проблема на стороне сервера?Я развернул несколько библиотек, используя 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>
...