SAFluteのセットアップ

Ubuntu14.04でSAFluteをセットアップした際、かなり手こずったのでメモを残す。
※ mysqlのインストール方法をメモするのを忘れた。。。  

# Eclipseのセットアップ
下記URLから、Eclipse IDE for JAVA Developersをダウンロードする。
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/luna/SR1/eclipse-java-luna-SR1-linux-gtk-x86_64.tar.gz

適当な場所に解凍する。

```
tar zxvf eclipse-java-luna-SR1-linux-gtk-x86_64.tar.gz
```

# Webサーバ関連のPluginセットアップ
Eclipse MarketplaceからRun Jetty Runをインストール。Eclipse Marketplaceは"Help"->"Eclipse Marketplace"とすることでアクセス可能。

# Seasar, DBFlute関連のPluginaセットアップ
Dolteng, Kijimuna, ResourceSynchronizer, EMechaを下記URLからインストールする。インストール方法は"Help"->"Install New Software"を選択する。
http://eclipse.seasar.org/updates/3.3  
DBLauncherを下記URLからインストールする。
http://eclipse.seasar.org/updates/3.2  
Eclipse Java EE Developer Tools, Eclipse Java Web Developer Tools, JST Server Adapters, JST Server Adapters Extentions, JST Server UIを下記URLからインストールする。
http://download.eclipse.org/releases/luna/  
SAStrutsを下記URLからインストールする。
http://eclipse.seasar.org/updates/3.3

# Eclimのセットアップ
Eclipseでもvimを使いたいのでEclimを使用する。
下記URLからEclim.jarをダウンロードする。
http://sourceforge.net/projects/eclim/files/latest/download

Eclimのインストール

```
java -jar eclim_2.4.0.jar
```

Eclipseを起動し、vimを使用したいファイルタイプを指定する。  
Window -> Preferences -> General -> Editors -> FileAssociation

# SAFluteのセットアップ
公式サイトよりダウンロード
http://dbflute.seasar.org/ja/manual/function/helper/saflute/saflute_template.html

ダウンロードしたzipファイルを$ECLIPSE_HOMEで解凍する。

# SAFluteのプロジェクト作成
基本は公式ページ通り実施すれば問題なし。公式ページ通りにやって私が失敗したことを中心に記述。
公式ページ:http://dbflute.seasar.org/ja/manual/function/helper/saflute/saflute_template.html

## DBFlute Runtimeのダウンロード
コンソールから実行(xxx-commonはSAFlute Projectのcommonプロジェクト名)

```
cd $ECLIPSE_WORKSPACE/xxx-common
mvn -e dbflute:download
```
## ReplaceSchemaができない
common ProjectにReplaceSchema.shがないため、ReplaceSchemaの実行ができない。
ReplaceSchemaを実行するため、DBFluteのクライアントを新規作成しコピーする。
クライアントは下記URLを参照し、作成する。
参照URL:http://dbflute.seasar.org/ja/environment/setup/maven.html
2のpom.xmlへの<plugins></plugins>の記述は<build>タグを探し追記すれば良い。
$ECLIPSE_WORKSPACE/xxx-common配下にdbflute_maihamadbディレクトリが作成されるので、そのディレクトリからshファイルをコピーする。

## ERMaster-bのインストール
ERMaster-b pluginはbaseプロジェクトのenvironment/eclipse/dropinsディレクトリにzipファイルが保存してあると記述してある。しかしzipファイルは同梱されていないため、下記URLからDLしセットアップする。この際、ERMaster-b用のディレクトリはdropinsディレクトリ以下に作成されないので、忘れないこと。
https://github.com/naoki-iwami/ermaster-b/blob/master/dropins/ERMaster-b/eclipse/plugins/org.insightech.er_1.5.0.2.jar

# Tomcatのインストール
## Local環境へのインストール
Ubuntuの場合、sudo apt-get install tomcat7 でOK

## Docker環境へのインストール
Dockerファイルは下記URLから拝借。
https://github.com/docker-library/tomcat/blob/278a10ace50c5e7addd879fae5c5332e57b2fe37/7-jre8/Dockerfile
## warの作成
elipse上でビルドする。

1. Open PrespectiveでGitを選択。
2. Git RepositoriesのClone a Git Repositoryを選択。
3. URIにhttps://git.codebreak.com/jflute/saflute.git を指定し、cloneする。(cloneする位置はworkspaceディレクトリ内)
4. cloneしたsafluteをインポートする。
5. safluteプロジェクトでRun As -> Maven install
6. baseプロジェクトでRun As -> Maven install
7. commonプロジェクトでRun As -> Maven install
8. applicationプロジェクトのsrc/main/webapp/META-INF/saflute-htmltag.tldのuriを自身の環境に合わせて変更する。
9. applicationプロジェクトでRun As -> Maven install(なぜかテストで失敗するので、暫定対応でテスト用のコードをコメントアウトする。)

## デプロイ
 tomcat7, java8の環境で$CATALINA_HOME/webappsに配置するだけ。
 CMDの前の行に COPY filename.war /usr/local/tomcat/webapps/ を追加し、ビルド・実行すればOK。