我设法设置了 maven,因此它会自动将我们软件的最新快照上传到我们的公共(public) 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 创建这个文件夹有任何想法吗?
最佳答案
你确定这不是服务器端的问题吗?
我使用 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>
关于deployment - 通过 webdav : directory creation 使用 mvn 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7663206/