気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

いまさらだけどSastrutsのプロジェクトをMavenで導入する

背景

まだ、SAstrutsから移行できずにいるプロジェクトが残っており、
そのプロジェクトがビルドできない。きれいな空プロジェクトをMavenを使って作成して、
ビルドできる状態にしようと考え、空プロジェクトを生成してみる。

環境

Mac OSX High Sierra

Maven2系をインストールする

Homebrewでは2系が落とせないかったので、zipファイルよりインストールする。
ローカル環境はMaven3.5になっているが、このバージョンでは、Sastrutsのsa-struts-archetypeでプロジェクトを作成できない。

そこで、2系の最新モジュールを以下よりダウンロードする

https://archive.apache.org/dist/maven/binaries/apache-maven-2.2.1-bin.zip

ダウンロードファイルを解凍後、今回は所定のパスに配置。ディレクトリ名はmaven2.2.1とした。

mv /Users/user_name/Downloads/apache-maven-2.2.1 /usr/local/opt/maven2.2.1

zprofileのMavenパスを以下に変更。すでに設定済みだったので。

export PATH="/usr/local/opt/maven2.2.1/bin:$PATH"

パスを通したファイルの設定を読み込み、反映する。

source ~/.zprofile
mvn -v
% mvn -v                                                                                                     [23:23:58]
Apache Maven 2.2.1 (r801777; 2009-08-07 04:16:01+0900)
・
・
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x" version: "10.13.6" arch: "x86_64" Family: "mac"

Sastrutsの空プロジェクトを作成する

以下を参考にmvnコマンドを叩く。
http://sastruts.seasar.org/mavenArchetype.html

% mkdir sandbox_sastruts; cd sandbox_sastruts
% mvn archetype:generate -DarchetypeRepository=http://maven.seasar.org/maven2/ \                             [23:08:05]
    -DarchetypeGroupId=org.seasar.sastruts \
    -DarchetypeArtifactId=sa-struts-archetype -DarchetypeVersion=1.0.4-sp9.1 \
    -DgroupId=com.example -DartifactId=sample -Dversion=1.0

Eclipse用のプロジェクトに変更し、ビルドしてみる

$ mvn eclipse:eclipse
$ mvn package

Eclipseで起動しなくなった場合

以下引用。
困ったときは、リフレッシュ&クリーン!

  1. mvn eclipse:eclipse を実行
  2. (Eclipseに読み込んでいなければ) Eclipse にプロジェクトとして読み込み
  3. Eclipse 上でプロジェクトをリフレッシュ
  4. Eclipse 上でプロジェクトをクリーン・ビルド (自動ビルドにしておくとクリーンのみ)
  5. src/main/webapp/WEB-INF の lib と classes が生成されていることを確認
  6. Tomcat を起動

mvn clean や mvn package などを実行した場合は、再度 mvn eclipse:eclipse を実行してください。
それらの mvn コマンドを実行すると、Tomcat プラグインで起動して利用する上で必要な src/main/webapp/WEB-INF/lib が削除されます。