Maven2のdeployで「Error deploying artifact: Unsupported Protocol: ‘dav’: Cannot find wagon which supports the requested protocol: dav」
Maven2で、ローカルに立てたインハウスリポジトリにデプロイしようとしたら、以下のエラーが出た。
[WARN] repository metadata for: 'snapshot maven2sample:maven2sample:0.0.1-SNAPSHOT' could not be retrieved from repository: localhost.maven2 due to an error: Unsupported Protocol: 'dav': Cannot find wagon which supports the requested protocol: dav [INFO] Repository 'localhost.maven2' will be blacklisted org.apache.maven.plugin.MojoExecutionException: Error deploying artifact: Unsupported Protocol: 'dav': Cannot find wagon which supports the requested protocol: dav at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:195) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:578) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:508) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:328) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:151) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:220) at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:813) at org.maven.ide.eclipse.embedder.Maven2Executor.main(Maven2Executor.java:85) Caused by: org.apache.maven.artifact.deployer.ArtifactDeploymentException: Error deploying artifact: Unsupported Protocol: 'dav': Cannot find wagon which supports the requested protocol: dav at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:115) at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:173) ... 7 more Caused by: org.apache.maven.wagon.TransferFailedException: Unsupported Protocol: 'dav': Cannot find wagon which supports the requested protocol: dav at org.apache.maven.artifact.manager.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:181) at org.apache.maven.artifact.manager.DefaultWagonManager.putArtifact(DefaultWagonManager.java:150) at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:103) ... 8 more Caused by: org.apache.maven.wagon.UnsupportedProtocolException: Cannot find wagon which supports the requested protocol: dav at org.apache.maven.artifact.manager.DefaultWagonManager.getWagon(DefaultWagonManager.java:136) at org.apache.maven.artifact.manager.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:175) ... 10 more
「Unsupported Protocol: ‘dav’: Cannot find wagon which supports the requested protocol: dav」と、WebDAVをサポートしていないみたいなことをいうんだけど、ヌーラボさんの社内リポジトリ - 自分たちのライブラリ置き場に書いているように、pom.xmlに
<build> <extensions> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-webdav</artifactId> </extensions> </build>
とwagon-webdavってのを入れたんだけど。。。
Maven Wagonの中にあるMaven Wagon WebDavというサイトを見つけたけど、びっくりするぐらい情報がなくて、使い方すら書いていない。
セントラルリポジトリをみてみたけど、びっくりするぐらいdavだけ存在しない。
どうもpom.xmlの書き方の問題みたいなので、[Maven2] リモートリポジトリへのファイルの deploy – ゆる系エンジニア日記さんの設定を試してみると動いた。
<build> <extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-webdav</artifactId> <version>1.0-beta-2</version> </extension> </extensions> </build>
extensionsタグの中にextensionタグというところとVersionが書いてあるのがポイント?
最新のVersionをどこで見ればいいのかわからんが、とりあえずよしとします。




