[[DeployToMaven2RepoRemote]]

#contents

* 概要 [#h278a94f]

- 対象者: Seasar.orgにアカウントを持っているコミッタ
- 関連URL: http://maven.seasar.org/

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

- 2007年3月10日(土) 25:30以前の過去のデプロイ方法
-- [[SCPを利用したデプロイ方法>DeployToMaven2RepoRemoteWithSCP]]
--- 現在は利用できません。

*準備 [#vb33727e]

**初回のみ行うこと [#h9722e92]

1度行えば良いモノ。

- Maven2をインストールする。
-- 参照: http://maven.apache.org/download.html
- Seasar.orgのコミッタアカウントを取得していること。
**毎回必要なこと [#s9488b06]

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

- pom.xmlの"version"をこれからデプロイする番号へ変更しているか確認すること。
-- (パッケージングにantを使用している場合はbuild.xmlも)

* プロジェクト設定 (pom.xml) [#m0b97a67]
# s2containerのpom.xmlを参考にしてください。

** <build/> [#ja8b2e26]

&color(#000,#bdf){SCP方式から移行する際にこのように変更する必要有り};

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

  <build>
      ... 省略 ...
    <extensions>
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-webdav</artifactId>
      </extension>
    </extensions>
  </build>
** <distributionManagement/> [#f1ac58d1]

&color(#000,#bdf){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>

- <repository/> へのデプロイ結果は http://maven.seasar.org/maven2/ 以下に対応
- <snapshotRepository/> へのデプロイ結果は http://maven.seasar.org/maven2-snapshot/ 以下に対応
-- pom.xmlの<version/>で X.X.X-SNAPSHOT と -SNAPSHOT を付けると自動的にこちらにアップロードされます。
*環境設定(settings.xml) [#lffd762c]

&color(#000,#bdf){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の取り扱いには気をつけてください。
*デプロイ実行 [#vf3421b4]

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を配布アーカイブに含めるように気をつけてください。(再度ビルドしないように)

* エラー集 [#n90e7371]

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

- settings.xml ファイルがない、もしくは、ファイル名が誤っている 
- ユーザ名、もしくは、パスワードが間違っている

** 無視して良いエラー [#t831a16a]

*** HTTP/1.1 401 Authorization Required [#td79fca8]

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

*コメント [#ha81887e]

#comment

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