Maven2DeployToRepoRemoteWithWebDAV

DeployToMaven2RepoRemote

概要

このページでは、maven.seasar.orgのMaven2レポジトリへリリース物をWebDAV経由(HTTPS通信)でデプロイする方法について記述します。その他のMaven情報については MavenInformation を参照してください。

準備

初回のみ行うこと

1度行えば良いモノ。

毎回必要なこと

デプロイ時に毎回行うモノ。

プロジェクト設定 (pom.xml)

# s2containerのpom.xmlを参考にしてください。

<build/>

SCP方式から移行する際にこのように変更する必要有り

WebDAV経由でデプロイするために必要なモジュール定義を追加します。

 <build>
     ... 省略 ...
   <extensions>
     <extension>
       <groupId>org.apache.maven.wagon</groupId>
       <artifactId>wagon-webdav</artifactId>
     </extension>
   </extensions>
 </build>

<distributionManagement/>

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>

環境設定(settings.xml)

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での例を示します。

  1. マイ ネットワークを開き、「ネットワーク プレースを追加する」を選択します。

    #ref(): File not found: "webdav01.png" at page "Maven2DeployToSiteRemoteWithWebDAV"

  2. 追加ウィザードで、「別のネットワークの場所の選択」を選択します。

    #ref(): File not found: "webdav02.png" at page "Maven2DeployToSiteRemoteWithWebDAV"

  3. インターネットまたはネットワークのアドレスにリポジトリのURLを入力します。
  4. 認証を求められるので、コミッタアカウントの情報を入力します。

    #ref(): File not found: "webdav04.png" at page "Maven2DeployToSiteRemoteWithWebDAV"

  5. 適当な名前を入力して、このネットワーク プレースへのショートカットを作成します

    #ref(): File not found: "webdav05.png" at page "Maven2DeployToSiteRemoteWithWebDAV"

  6. 追加ウィザードを完了させます。

    #ref(): File not found: "webdav06.png" at page "Maven2DeployToSiteRemoteWithWebDAV"

  7. 削除したいファイルを選択し削除します。
    • 削除できるのは、所属プロジェクトのファイルのみです。所属していないプロジェクトのファイルは権限が足りないので削除できません。

      #ref(): File not found: "webdav07.png" at page "Maven2DeployToSiteRemoteWithWebDAV"

エラー集

401 Unauthorized

[INFO] Error deploying artifact: Failed to transfer file: https://www.seasar.org/maven/maven2/org/seasar/... Return code is: 401 Unauthorized

無視して良いエラー

HTTP/1.1 401 Authorization Required

情報: 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と表示されます。

コメント



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS