通过 webdav 使用 mvn deploy:目录创建

发布于 2024-12-08 11:14:48 字数 499 浏览 0 评论 0原文

我设法设置 Maven,以便它自动将我们软件的最新快照上传到我们的公共 Maven 存储库。 到目前为止,这工作得很好,只有一个我无法处理的小缺点:

部署新快照时,例如: <版本>1.2-SNAPSHOT 名为 1.2-SNAPSHOT 的目录必须存在于我们的 Web 服务器的 maven 目录中,否则 maven 将失败,并指出:

无法部署工件:无法从/到 Basex 传输工件...。 MVN (http://abc.de/webdav/):访问被拒绝:http:// abc.de/webdav/1.2-SNAPSHOT/...

通常,在启动新快照时,该目录尚不存在,因此我最终手动创建它。

您对如何解决这个问题并让 Maven 创建此文件夹有什么想法吗?

I managed to setup maven so it automatically uploads the latest snapshot of our software to our public maven repository.
This works fine so far, there is only a minor shortcoming that I just can not handle:

When deploying a new Snapshot, say for example:
<version>1.2-SNAPSHOT</version>
a directory named 1.2-SNAPSHOT has to be present on our webserver's maven directory, otherwise maven will fail, stating:

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/...

As usually when starting a new snapshot this very directory is not yet present so I end up creating it manually.

Do you have any ideas on how to come around this and make maven create this folder?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

零度° 2024-12-15 11:14:48

确定不是服务器端的问题?
我使用 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 中存储库的 id)。

<server>
   <id>RepoId</id>
   <username>login</username>
   <password>pass</password>
</server>

Are you sure that it is not a server side problem?
I deployed a some libraries using Webdav (over HTTPS) and first time (with directory creation) it worked.

The Pom.xml should contain a description of the distribution server.

<distributionManagement>
   <repository>
      <id>RepoId</id>
      <name>Name of the Maven repository</name>
      <url>dav:https://thewebdavurl/</url>
      <uniqueVersion>false</uniqueVersion>
   </repository>
</distributionManagement>

To enable directory creation, you might need to log on the server. To do this you need to add in the server part of the setting.xml the credentials for RepoId (see id of the repository in the pom).

<server>
   <id>RepoId</id>
   <username>login</username>
   <password>pass</password>
</server>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文