Friends - Maven

DBFluteとは直接無関係ながらも、同時に利用するととても便利なライブラリを紹介します。

DBFlute と Maven

DBFluteは、利用上において特に Maven に依存してはいません。ですが、DBFlute の利用を支援する Maven DBFlute Plugin が存在し、また幾つかの DBFlute Example は Maven でクラスパスを管理されています。

DBFluteランタイムの jar ファイルは、Maven リポジトリで公開されているため、アプリケーションで Maven を利用している場合、DBFluteランタイム dependency に定義するだけで利用することができます。 また、DBFluteランタイム自体のプロジェクトの管理も Maven で管理されています(ただし、DBFluteモジュールは Maven 管理ではない)。

Maven補足資料

Mavenの役割

ざっくり言うと、依存ライブラリのバージョンを解釈して自動でダウンロードしてくれます。

e.g. pom.xml concept model @Model
                  Java API (Stringとか) ←こいつだけじゃ足りない!
  E                
  c      ... <--(Download) sea-1.1.jar -> mystic-2.1.jar -> hangar-0.8.jar
  l  M                         ↓       -> bigband-3.4.jar
  i  2                     sea-1.5.jar -> mystic-2.4.jar -> hangar-1.7.jar
  p  E-(直参照)-+                       -> bigband-3.7.jar -> piari-1.3.jar
  s          +-+
  e          |   あ  o     land-3.2.jar -> oneman-1.8.jar -> bigband-3.5.jar
  ↓          |   ぷ /|\
.classpath   |   り /\     piari-1.0.jar -> dstore-2.0.jar -> oneman-2.5.jar
  ↑          +-↓
  |           <<< pom.xml >>> ← sea と land と piari が欲しいぞと書いてある
  |                   ↑
  |                  M a v e n   ------------------+
  +-(自動生成)--   (eclipse-plugin)                 ↓↓
                                                Mavenセントラルサーバー
                                                +------------------+
                                                | sea.jar pom.xml  |
                                                | land.jar pom.xml |
                                                +------------------+

M2_REPOの設定

Mavenコマンドから M2_REPO を設定することができます。ただし、追加後は Eclipse を再起動する必要があります。

e.g. カレントディレクトリのワークスペースに M2_REPO を追加 @Command
mvn -Declipse.workspace=. eclipse:add-maven-repo

既に M2_REPO 登録されている状態でのこのコマンドを叩いても無視されるだけです。例えば、Eclipseに M2Eclipse プラグインが入っている場合は、M2_REPO は既に登録されている可能性があります。

Eclipseプロジェクトの作成

Mavenコマンドから Eclipse プロジェクトを作成することができます。プロジェクト直下に pom.xml を配置し、(コマンドのカレントディレクトリを pom.xml と同じ場所にして) eclipse:eclipse ゴールを実行すると、その pom.xml の設定通りの .project, .classpath ファイルが自動生成されます。 ただし、作成後は Eclipse の該当プロジェクトをリフレッシュ(F5)する必要があります。

e.g. Eclipseプロジェクトを作成 @Command
mvn eclipse:eclipse

ソースコードのダウンロードの有無

Eclipse のソースコードをダウンロードするか否かを pom.xml に定義しておくことができます。

e.g. ソースコードをダウンロード有無の設定 @pom.xml
...
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <version>2.8</version>
        <configuration>
          <workspace>${basedir}/..</workspace>
          <downloadSources>true</downloadSources>
        </configuration>
      </plugin>
...