Maven DBFlute Pluginのインストール

前提となる環境

Maven DBFlute Plugin を利用するためには、Maven 2 のインストール および Maven のプロジェクトを生成しておく必要があります。 Maven プロジェクトの生成には、Maven の archetype 機構を利用すると簡単に生成することができます。 たとえば、Maven のインストール後に、以下のように実行すると Maven プロジェクトが作成されます。

e.g. Mavenプロジェクトの作成コマンド @Command
mvn archetype:create \
    -DgroupId=グループID \
    -DartifactId=プロジェクトID \
    -DarchetypeArtifactId=maven-archetype-webapp

groupId には生成するプロジェクトのグループ ID、artifactId には生成するプロジェクトのプロジェクト ID、archetypeArtifactId には生成するプロジェクトのタイプをしていします。archetypeArtifactId には以下のものなどを指定できます。

  • maven-archetype-quickstart: jar ファイルを生成するプロジェクト
  • maven-archetype-webapp: war ファイルを生成するプロジェクト
  • maven-archetype-j2ee: J2EE プロジェクトを生成するプロジェクト
  • maven-archetype-mojo: Maven プラグインを生成するプロジェクト

pom.xml の設定

まずは大前提、プラグインのリポジトリを登録します。

プラグインのリポジトリを追加

e.g. プラグインのリポジトリを追加 @pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project>
...
 <pluginRepositories>
    <pluginRepository>
      <id>maven.seasar.org</id>
      <name>The Seasar Foundation Maven2 Repository</name>
      <url>http://maven.seasar.org/maven2/</url>
    </pluginRepository>
    <pluginRepository>
      <id>maven-snapshot.seasar.org</id>
      <name>The Seasar Foundation Maven2 Repository</name>
      <url>http://maven.seasar.org/maven2-snapshot/</url>
    </pluginRepository>
  </pluginRepositories>
...
</project>

プラグイン情報の追加

そして、Maven DBFlute Plugin を利用するために、開発するプロジェクトの pom.xml にプラグイン情報を追加します(plugin要素を一つ追加)。大きく、基本的な設定データベース接続設定の二つに分かれます。

基本的な設定

基本的な設定を行うことで、DBFluteタスクのゴールが実行できるようになります。 環境構築のゴールは利用できませんが、既に作成されているDBFluteクライアントでも適用 できます。EMechaと併用する場合に有効です。

dbfluteVersion
利用しているDBFluteのバージョン
clientProject
DBFluteクライアントの名前(dbflute_xxxのxxx部分)
e.g. プラグイン情報の追加(実行のための基本的な設定) {0.9.8.3, exampledb} @pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project>
...
  <build>
    <plugins>
...
      <plugin>
        <groupId>org.seasar.dbflute</groupId>
        <artifactId>maven-dbflute-plugin</artifactId>
        <version>0.3.0</version>
        <configuration>
          <dbfluteVersion>0.9.8.3</dbfluteVersion>
          <clientProject>exampledb</clientProject>
        </configuration>
      </plugin>
...
    </plugins>
  </build>
...
</project>

別途記述するDBFluteランタイムのバージョン指定と合わせると、pom.xml の中でDBFluteのバージョンの記載が重複してしまいます。pom.xml の中で変数定義をして一元管理すると良いでしょう。

e.g. DBFluteのバージョンを変数指定で一元管理 {0.9.8.3, exampledb} @pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project>
...

  <properties>
    <dbflute.version>0.9.8.3</dbflute.version>
  </properties>

...

  <build>
    <plugins>
...
      <plugin>
        <groupId>org.seasar.dbflute</groupId>
        <artifactId>dbflute-maven-plugin</artifactId>
        <version>1.0.0</version>
        <configuration>
          <dbfluteVersion>${dbflute.version}</dbfluteVersion>
          <clientProject>exampledb</clientProject>
        </configuration>
      </plugin>
...
    </plugins>
  </build>
...
</project>

...

    <dependency>
      <groupId>org.seasar.dbflute</groupId>
      <artifactId>dbflute-runtime</artifactId>
      <version>${dbflute.version}</version>
    </dependency>

...

環境構築系ゴールの利用

基本的な設定に加えて、ベースパッケージやデータベースの接続情報を設定することで、DBFluteの環境構築をするゴールが利用 できます。

e.g. Oracleを利用するように設定 {localhost, 1521, XE, exampledb} @pom.xml
...
        <configuration>
          ...
          <dbPackage>com.example.dbflute.basic.dbflute</dbPackage>
          <database>oracle</database>
          <databaseDriver>oracle.jdbc.OracleDriver</databaseDriver>
          <databaseUrl>jdbc:oracle:thin:@localhost:1521:XE</databaseUrl>
          <databaseSchema>exampledb</databaseUser>
          <databaseUser>exampledb</databaseUser>
          <databasePassword>exampledb</databasePassword>
        </configuration>
      </plugin>
...

この設定は、DBFlute クライアントだけに適用されるものなので、アプリが使う jdbc.dicon などのその他の設定は別途行ってください。

さらに詳しくは本家サイトにて

さらに詳しい情報は、本家サイトにて得ることができます。