Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

MacでSAStrutsの環境構築とチュートリアルのセットアップ

スポンサードリンク

f:id:fa11enprince:20170106160736j:plain SAStrutsのチュートリアルのセットアップ方法のMac版です。 過去記事はこちら

eclipseをインストールします

ダウンロードしてインストールします。 ちなみにMacだといろいろついているpleiades All in Oneはないので 普通にJava EE用のインストーラーを落としてください。 https://eclipse.org/downloads/
workspaceは ~/eclipse/jee-neon/Eclipse.app/Contents/Eclipse/workspace
とかのほうがいいです。場所はDocuments以外だとどこでもいいと思います。
DocumentsだとiCloud配下になってしまうので(Sierra以降) iCloudの配下にあると同期の関係でなぜかCleanしてもファイルが最新にならないという問題が置きます。 El CapitanまでならDocuments配下にworkspaceがあってもいいと思います。

Tomcatのインストール

homebrewの導入は簡単なので割愛します。
homebrewを使って以下のコマンドを実行します

$ brew install tomcat  

/usr/local/Cellar/tomcat/8.5.9
にインストールされます。

Super Agile Strutsチュートリアルをインポートします

ここからダウンロードします
http://sastruts.seasar.org/download.html

ダウンロードしたものをEclipseにインポートします
まずはファイルを解凍してそれをインポートします。
File > import > General > projects from Folder or Archive

Seasar2のプラグインを入れておきます。

Help > Install New Software > add
Name : Seasar Plugin 3.3
Location: http://eclipse.seasar.org/updates/3.3/
チェックするのはDolteng, ResourceSynchronizer, SAStrutsPluginだけです。

An error occurred while collecting items to be installed
session context was:
が出たら
http://stackoverflow.com/questions/14866656/can-not-install-android-adt-21-1-on-eclipse-juno-windows-7-after-upadate-to-sd/14896322#14896322
を参考に一番下のチェックConcat all update sites during install to find required softwareを外します。

Tomcatプラグインを最新のものをいれる

Market Placeより
Eclipse Tomcat Plugin 9.1.2をいれる

プロジェクトを動的モジュールに変換します

プロジェクトを右クリック Configure(構成) > Convert to Faceted form ...
Dynamic Web Module(動的Webモジュール)に
これでSeasar2のコンパイルが通るはず

サーバの作成

サーバービューから新規作成
Apache > Tomcat 8.5
を選ぶ
Tomcat installation directoryに下記PATHを貼り付け

/usr/local/Cellar/tomcat/8.5.9/libexec

そのあと、
sa-struts-tutorialのwarを追加します。 ※インストールしたパスを忘れてしまった場合は brew info tomcat でわかります。最後にlibexecをつけましょう。 ちなみにですがこのパス/usr/localはFinderだとCtrl+Shift+Gじゃないとアクセス出来ないと思いますので。。。

もう一度プロジェクトを右クリック

右クリック > Properties(プロパティ) > Project Facets(プロジェクトファセット)
Dynamic Web Module(動的Webモジュール) > 右側のRuntimeで
Apache Tomcat v8.5をチェック

デプロイメントアセンブリーの変更

また、プロジェクトを右クリック > Properties(プロパティー)で
Deployment Assembly(デプロイメント・アセンブリー)を選択します。
/WebContent /というのがあるので除去します。

追加ボタンよりフォルダーを選択します。
/src/main/webapp でデプロイ先を / にします。

サーバーを起動します

サーバービューの右クリックから起動して
ブラウザから
http://localhost:8080/sa-struts-tutorial/
にアクセスできればOKです。

ちなみにhttp://localost:8080/ にアクセスすると404になりますが、気にしないでください。
https://teratail.com/questions/11096 基本的にここまででOKです。

動かしたときにrequestのログが出ないようにします

ここは追加です。 web.xmlのrequestDumpFilterに次のを追加します。

    <filter>
        <filter-name>requestDumpFilter</filter-name>
        <filter-class>org.seasar.extension.filter.RequestDumpFilter</filter-class>
        <init-param>
            <param-name>beforeContextAttribute</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>afterContextAttribute</param-name>
            <param-value>false</param-value>
        </init-param>
    </filter>

init-paramを2つ追加します。

猫マークからTomcatを起動したい&Tomcatプロジェクトのほうが何かと便利って場合

追加で設定をします。
eclipseのサーバービューだと何かと不便があるので、次のように追加で設定します。

これをするとEclipseの上側にある猫マークでTomcatを起動できます。 環境設定から

Tomcatバージョン:  
Tomcat version 8.x
Tomcat Home:  
/usr/local/Cellar/tomcat/8.5.9/libexec

Applyを押します。
次にプロジェクトの設定をします。

プロジェクト右クリック  
Properties >Tomcat  
Tomcatプロジェクトにチェック  
コンテキスト名: sa-struts-tutorial  
Webアプリケーションルートとするサブディレクトリ:  
/src/main/webapp

Applyを押して終了です。 この場合猫マークが使えます。