このページには、maven.seasar.orgのMaven2レポジトリへリリース物をデプロイする方法について記述します。 (主にS2Containerプロダクトについて記述しますが、他のプロダクトでも同じ手順でOKと思います。)
対象者: seasar.orgにアカウントを持っていて、公開鍵登録を済ましている開発者
その他のMaven情報については MavenInformation を参照してください。
1度行えば良いモノ。
デプロイ時に毎回行うモノ。
# 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>
${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>
<privateKey>'C:\Documents and Settings\ユーザ名\Application Data\SSH\seasar.ppk'</privateKey>
<privateKey>C:\Software\PuTTY\keys\seasar_id_rsa</privateKey>
※パスフレーズを記述するため、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
-----BEGIN RSA PRIVATE KEY----- MIICWQIBAAKBgQCmwMkULkJJM/aVvUZhuV+AdLGinjHzaVQ1aXvqrtQxsAienex/ b1RAbdCLhc0OCnFftGAcNbUP4418h7pcgCBGoj0uVlAlxQ8KT5qF2iXiQAS+5bmr ... 9行省略 ... NH9tCMIrvyFg/EcCQHz6MHK5RuI5yA+xbKt7c/m7H8OE4j+JYOHg2zocKECcq8V9 NluYAUQIb/T2GFumUUeqi9gaNyaqbqmizNhgsiU= -----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,6ED082245EF38132 MIICWQIBAAKBgQCmwMkULkJJM/aVvUZhuV+AdLGinjHzaVQ1aXvqrtQxsAienex/ b1RAbdCLhc0OCnFftGAcNbUP4418h7pcgCBGoj0uVlAlxQ8KT5qF2iXiQAS+5bmr ... 9行省略 ... NH9tCMIrvyFg/EcCQHz6MHK5RuI5yA+xbKt7c/m7H8OE4j+JYOHg2zocKECcq8V9 NluYAUQIb/T2GFumUUeqi9gaNyaqbqmizNhgsiU= -----END RSA PRIVATE KEY-----
PuTTY-User-Key-File-2: ssh-rsa Encryption: aes256-cbc Comment: user @ example.org Private-Lines: 8 MIICWQIBAAKBgQCmwMkULkJJM/aVvUZhuV+AdLGinjHzaVQ1aXvqrtQxsAienex/ b1RAbdCLhc0OCnFftGAcNbUP4418h7pcgCBGoj0uVlAlxQ8KT5qF2iXiQAS+5bmr ... 9行省略 ... NH9tCMIrvyFg/EcCQHz6MHK5RuI5yA+xbKt7c/m7H8OE4j+JYOHg2zocKECcq8V9 NluYAUQIb/T2GFumUUeqi9gaNyaqbqmizNhgsiU= Private-MAC: 0ea6f0710af01cbf796afdab2043b20113419944