DeployToMaven2RepoRemote

概要

このページには、maven.seasar.orgのMaven2レポジトリへリリース物をデプロイする方法について記述します。 (主にS2Containerプロダクトについて記述しますが、他のプロダクトでも同じ手順でOKと思います。)

対象者: seasar.orgにアカウントを持っていて、公開鍵登録を済ましている開発者

その他のMaven情報については MavenInformation を参照してください。

準備

初回のみ行うこと

1度行えば良いモノ。

毎回必要なこと

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

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

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

pom.xmlにSeasarプロジェクト用のデプロイ先リポジトリを記述します。このリポジトリ設定はurl含めて全プロジェクトで共通です。

# url を /home/groups/プロジェクト名/maven/maven2 or /home/groups/sandbox/プロジェクト名/maven/maven2 にしている場合、下記のように修正してください。

 <distributionManagement>
   <repository>
     <uniqueVersion>false</uniqueVersion>
     <id>maven.seasar.org</id>
     <name>The Seasar Foundation Maven2 Repository</name>
     <url>scp://maven.seasar.org/home/groups/maven/maven/maven2</url>
   </repository>
   <snapshotRepository>
     <uniqueVersion>true</uniqueVersion>
     <id>maven.seasar.org</id>
     <name>The Seasar Foundation Maven2 Snapshot Repository</name>
     <url>scp://maven.seasar.org/home/groups/maven/maven/maven2-snapshot</url>
   </snapshotRepository>
 </distributionManagement>

環境設定(settings.xml)

${user.home}/.m2/ に settings.xml というXMLファイルを作成します。

<?xml version="1.0" encoding="UTF-8"?>
<settings>
  <servers>
    <server>
      <id>maven.seasar.org (pom.xmlに書かれているrepositoryのidと合わせる)</id>
      <username>(ユーザ名)</username>
      <privateKey>(秘密鍵への絶対パス)</privateKey>
      <passphrase>(秘密鍵のパスフレーズ)</passphrase>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
    </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を配布アーカイブに含めるように気をつけてください。(再度ビルドしないように)

エラー集

[WARNING] repository metadata for: 'snapshot groupId:artifactId:version' 
could not be retrieved from repository: maven.seasar.org due to an error: 
Authentication failed: Cannot connect. Reason: Auth fail
[INFO] Error deploying artifact: Authentication failed: Cannot connect. Reason: Auth fail

コメント



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