Maven2の最近のブログ記事

OutOfMemoryError

| # Comments
Maven2でプロジェクト管理していると、モジュールの数がどんどん多くなってきます。

すると、ビルドやプロジェクトサイト生成の時にOutOfMemoryErrorが出るようになってしまいます。
特にレポートをたくさん出力するように設定されているプロジェクトサイトを生成する時にはより多くのメモリを使うので、頻繁にOutOfMemoryErrorになります。

なお、物理メモリが不足している場合にはメモリの増設が必要です。
Maven2ではレポジトリにデプロイされている数多くのライブラリをとても簡単に利用することができます。

しかし、どこのレポジトリにもデプロイされていない、ましてやMaven2管理になっていないライブラリも同様に数多く存在します。
それではMaven2レポジトリに存在しないライブラリを使う場合にはどうすればいいのでしょうか?

いくつかの方法がありますが、代表的な手法をご紹介します。

※ライブラリのライセンスによっては再配布ができないものもあります。
※ライセンス違反などでトラブルになっても当方は責任を持ちませんので各自の責任で行ってください。

プラグイン

| # Comments
Maven2はプラグインを使って機能拡張ができるように設計されています。

開発の基本となるコンパイルやパッケージングもプラグインによって処理が行われています。
初回の起動時にものすごく時間がかかるのは、必要なプラグインをセントラルレポジトリからいっせいにダウンロードしているからです。

今回はプラグインの基本について見てみます。
Maven2を使って新規にプロジェクトを作るとき、毎回pom.xmlの設定やディレクトリの配置をするのは面倒です。
(Maven2を使い込めば使い込むほどpom.xmlファイルが肥大化してきます。)

そこでmaven-archetypeというパッケージングを使って、プロジェクトの雛形を作ることができます。

モジュール

| # Comments
複数人のチームでの開発では、機能別やレイヤー別に担当者を分けて開発を行います。

ユーザー向けwebapp、管理画面webapp、共通部分jarでの分割、また以前からの例で言えば、データアクセスやロジックを扱うsample-jarと、コントローラ、ビューを扱うsample-webappを別々の人が担当するという分割が考えられます。

このような場合にMaven2では「モジュール」という概念で管理していきます。
Maven2のもう1つの有用な機能として、プロジェクトサイト生成機能があります。

pom.xmlファイルに書かれた各種情報を元に、プロジェクト情報をまとめたサイトを自動生成してくれます。
完全に自動化できる情報は限られていますが、その他の情報に関してもプロジェクト内にファイルを置くことで同じレイアウトのページとして出力ができます。
Maven2のサイトもサイト生成機能を利用して作られています。

それでは基本的な機能を見ていきます。
Maven2を使う上で最も便利な機能の内の1つに、依存関係の自動解決があります。

pom.xmlファイルに設定を記述しておくだけで、Maven2レポジトリと呼ばれるサーバーからライブラリファイルをダウンロードし、クラスパスに追加してくれるという機能です。
世界中で開発されている数多くのライブラリがセントラルレポジトリにデプロイされており、簡単に利用できるようになっています。
セントラルレポジトリ内のライブラリであれば、Maven Repository: Search/Browse/Exploreというサイトで検索でき、groupId / artifactId / versionを検索することができるようになっています。

他にも各地にレポジトリが公開されており、そちらにあるライブラリもレポジトリの設定を追加するだけで利用できるようになります。

それでは、それぞれの設定について見てみます。
Maven2では、様々な種類のファイルを成果物として生成することができます。

Maven2の基本にてpackage指定でMaven2を実行することでjar/warファイルを生成すると書きましたが、この出力ファイルの種類を指定するためのpom.xmlファイルの設定として<packaging>タグがあります。

基本的なpackagingの種類を見ていきます。

Maven2の基本

| # Comments | 2 Trackbacks
Maven2では、1つの成果物(=artifact/アーティファクト、jar/warファイルなど)を管理するために1つの「プロジェクト」が対応します。
このプロジェクトは、1つのpom.xmlファイルと、原則として決まった構成のディレクトリ群からできています。

+ project
    + src
        + main
            + java
            + resources
          ( + webapp )
        + test
           + java
           + resources
    + target
        + classes
        + test-classes
    - pom.xml

以下では、pom.xmlファイルの基本とそれぞれのディレクトリについて、またMaven2の基本的なコマンドについて見ていきます。
Maven2のインストールから基本的な使い方までを振り返ってみます。

Maven2とは、

Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

です。w

以下の手順では、Javaはすでにインストールされているものとします。

Twitter Icon

AdSense

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。
Powered by Movable Type 5.14-ja

Google検索

カスタム検索

2013年10月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31