Going my way

いいなと思ったことをメモしていきます。

ライブラリアンがゆく(Maven1のまとめ(編集中))


Advertisements


プロジェクトにアサインされていきなり、

「今日からお前、ライブラリアンな?」

と言われた人の気持ちを考えてみよう。

とりあえず頭をよぎるのは

「俺、何すればいいの?」

だ。

ライブラリアンと言われても、何をやるかわからない。

ググっても図書館司書とか書いてあって、なんだかよくわからない。

俺はシステム開発者であって、図書館司書ではないのだ。

 

少し時間が経って、ライブラリアンがやっていることがなんとなくわかった。

ライブラリアンは、どうやら・・・

・リリース作業を行うらしい

・バージョン管理を行うらしい

・各チームのコミットを確認するらしい

・ソースをビルドして、リリース用モジュールを作成するらしい

・リリースに伴うルールを作るらしい

・DBにSQLを流すらしい(SQLの作成は各チームの人)

つまり、ライブラリアンとは、リリースに関わりそうなこと全般をやる便利屋的なポジションの人のことをいうらしい。

便利屋というと響きがいいが、各チームから好き放題要望を投げられ、リリースにミスがあったらライブラリアンのせいにされるという理不尽なポジションでもある。

とりあえず、今のプロジェクトでは、Maven1,Maven2,Subversionというツールを使っているので、その周辺知識をまとめていくことにする。

 

とりあえず、Maven用語集

用語 意味
Maven Apacheプロジェクトが開発、配布しているJavaプロジェクト管理のためのツール。
リポジトリ ソフトウエア開発において開発に関連するメタデータを一元的に集約したもの。 Mavenでは、ライブラリを一元管理する場所のことをリポジトリと呼び、プロジェクトに必要なjarファイルや、プロジェクトで作成したjarファイルなどの生成物を管理している。
リモートリポジトリ インターネット上に存在するリポジトリのこと。必要なjarファイルをダウンロードするために使用される。リモートリポジトリをどのサイトにするかは、meven.repo.remoteプロパティで指定できる。
ローカルリポジトリ ダウンロードしたjarファイルを格納するために使用される。Maven.home.localプロパティで指定したディレクトリに作成される。デフォルトでは${user.home}/.maven/repositoryになる。
POM プロジェクト開発や管理を制御するためのプロジェクトモデルのこと。 Mavenではproject.xmlというXMLファイルをPOMと同じ意味で扱う。 Project.xmlにプロジェクトの全体像をモデル化して記述することにより、Mavenを使ってプロジェクト全体を管理することができるようになる。
project.xml Mavenを使用する際に唯一必須となるファイルのこと。プロジェクト全体の情報を記述する。 Project.xmlに記述した情報はサブプロジェクトに引き継がれる。
project.properties プロジェクトごとのプロパティを設定するファイル。プロジェクト全体を通して共通のプロパティを設定する。
build.properties プロジェクトごとのプロパティを設定するファイル。各開発者の環境に合わせたプロパティの設定を定義する。
maven.xml ゴールと呼ばれる、実行したい機能を定義するためのファイル。様々な機能がデフォルトで用意されているが、それらの機能の振る舞いを変更したい場合や、用意されている機能以外の機能を作成したい場合はこのファイルを記述する。
10-1 10-2
ゴール Mavenでは様々な処理を行うことができる。ゴールとは、ひとつひとつの機能のこと。機能を実行するには、次のようにコマンドを実行する。 Maven プラグイン名:ゴール名 指定できるゴールの一覧は maven -g で確認できる。

 

Eclipseプラグイン(Maven2)

ヘルプ>新規ソフトウェアのインストール>

http://m2eclipse.sonatype.org/sites/m2e

このURLを「作業対象」のボックスに入力し、次へ。