75月/110
Maven3でDeploy先を切り替える.
maven3でdeployをするにはextensionでwagonのプラグイン?を書かなければいけないようだ.
試したのは webdav, scpの2つだけ.
pom.xmlに以下のタグを追加しておき,distributionManagement のrepositoryタグを適切に追加しておけばOK.
<distributionManagement> <repository> <id>適当に決めたデプロイ先のサイトのID</id> <url>scp://ユーザ名@ホスト名/パス</url> </repository> </distributionManagement> : <build> : <extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-ssh</artifactId> <version>1.0-beta-6</version> </extension> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-webdav-jackrabbit</artifactId> <version>1.0-beta-7</version> </extension> </extensions> </build>
サイトのIDは ~/.m2/settings.xml の設定と合わせておく必要がある.
デプロイ先を切り替えるには profile を使う.以下のタグをpom.xmlの一番最後あたりに追加する.
<profiles> <profile> <id>適当な名前</id> <activation> <property> <name>target</name> <value>hoge</value> </property> </activation> <distributionManagement> <repository> <id>切り替えたいデプロイ先のID</id> <url>dav:http://ホスト名/パス</url> </repository> </distributionManagement> </profile> </profiles>
こうしておくと,$ mvn deploy
したときはscpでデフォルトのデプロイ先へ,$mvn deploy -Dtarget=hoge
とするとprofileで設定したデプロイ先へwebdavでアクセスするようになる.
ちなみに,切り替えたいデプロイ先のIDも~/.m2/settings.xmlで定義しておかなければならない.
settings.xml は Mavenのドキュメントを参照のこと.