Maven2DeployToRepoRemoteWithWebDAV
このページでは、maven.seasar.orgのMaven2レポジトリへリリース物をWebDAV経由(HTTPS通信)でデプロイする方法について記述します。その他のMaven情報については MavenInformation を参照してください。
1度行えば良いモノ。
デプロイ時に毎回行うモノ。
# s2containerのpom.xmlを参考にしてください。
SCP方式から移行する際にこのように変更する必要有り
WebDAV経由でデプロイするために必要なモジュール定義を追加します。
<build> ... 省略 ... <extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-webdav</artifactId> </extension> </extensions> </build>
SCP方式から移行する際にこのように変更する必要有り
pom.xmlにSeasarプロジェクト用のデプロイ先リポジトリを記述します。このリポジトリ設定はurl含めて全プロジェクトで共通です。
<distributionManagement> <repository> <uniqueVersion>false</uniqueVersion> <id>maven.seasar.org</id> <name>The Seasar Foundation Maven2 Repository</name> <url>dav:https://www.seasar.org/maven/maven2</url> </repository> <snapshotRepository> <uniqueVersion>true</uniqueVersion> <id>maven.seasar.org</id> <name>The Seasar Foundation Maven2 Snapshot Repository</name> <url>dav:https://www.seasar.org/maven/maven2-snapshot</url> </snapshotRepository> </distributionManagement>
SCP方式から移行する際にこのように変更する必要有り
${user.home}/.m2/ に settings.xml というXMLファイルを作成します。
<?xml version="1.0" encoding="UTF-8"?> <settings> <servers> <server> <id>maven.seasar.org</id> <username>コミッタアカウントのユーザ名</username> <password>コミッタアカウントのパスワード</password> </server> </servers> </settings>
※ パスワードを記述するため、settings.xmlの取り扱いには気をつけてください。
pom.xmlが置かれているディレクトリで次のコマンドを実行してください。
mvn clean source:jar javadoc:jar deploy -DupdateReleaseInfo=true
※s2container, s2jsf, s2dao, teedaはpom.xmlで設定してありますので、↓のコマンドでOKです。
mvn clean deploy
成功すると、リモートレポジトリへデプロイされます。 (クリーンビルド → 単体テスト実行 → jarファイル作成 → Maven2リモートレポジトリへのデプロイ、が行われます。)
配布zipアーカイブの作成にはantを使用しているので、続けて
ant dist
してzipを作成してください。
※zip等の配布アーカイブを作成する場合は、Maven2リポジトリへデプロイしたjarを配布アーカイブに含めるように気をつけてください。(再度ビルドしないように)
デプロイ済みの不要なファイルを削除するには、WebDAVクライアントを使って削除します。下記にWindows XPでの例を示します。
#ref(): File not found: "webdav01.png" at page "Maven2DeployToSiteRemoteWithWebDAV"
#ref(): File not found: "webdav02.png" at page "Maven2DeployToSiteRemoteWithWebDAV"
#ref(): File not found: "webdav03.png" at page "Maven2DeployToSiteRemoteWithWebDAV"
#ref(): File not found: "webdav04.png" at page "Maven2DeployToSiteRemoteWithWebDAV"
#ref(): File not found: "webdav05.png" at page "Maven2DeployToSiteRemoteWithWebDAV"
#ref(): File not found: "webdav06.png" at page "Maven2DeployToSiteRemoteWithWebDAV"
#ref(): File not found: "webdav07.png" at page "Maven2DeployToSiteRemoteWithWebDAV"
[INFO] Error deploying artifact: Failed to transfer file: https://www.seasar.org/maven/maven2/org/seasar/... Return code is: 401 Unauthorized
情報: Already tried to authenticate with 'maven webdav repository' authentication realm at www.seasar.org, but still receiving: HTTP/1.1 401 Authorization Required
上記のエラーが表示されても最後にBUILD SUCCESSFULと最後に表示されている場合は、このエラーは無視して構いません。これは、デプロイするプロジェクトより上位ディレクトリである org/seasar 部分のディレクトリを触ろうとした時に表示されるエラーで、実際にプロダクトをデプロイする際に成功している場合は、最後にBUILD SUCCESSFULと表示されます。