STS4の設定手順
================================================================================

.. only:: html

.. contents:: 目次
  :depth: 3
  :local:

|

| Spring Tool Suite(以降STSと呼ぶ)とは、EclipseをベースにSpringでの開発に適した機能が組み込まれている統合開発環境である。
| 本章ではMacchinetta Server Framework (1.x)で解説するアプリケーション開発に適した設定方法について解説する。

なお、以降の解説はJava、Maven及びアプリケーションサーバーがインストールされていることを前提としている。これらのインストール手順については各自で調査されたい。

|

.. _SpringToolSuite4WhatIsSTS4:

Spring Tool Suite 4とは
--------------------------------------------------------------------------------

| STS4は過去のSTSを踏襲せずSpring Bootでの開発に適したツールとして作成されている。
| 従来のSpringアプリケーション開発に対しては不足している機能があるため、不足部分の補完方法についてこの章で解説していく。

|

.. _SpringToolSuite4Installing:

STS4の導入手順
--------------------------------------------------------------------------------

.. _SpringToolSuite4InstallingIDE:

STS4の導入
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| STS本体は\ `STSの公式ページ <https://spring.io/tools>`_\ から取得することができる。
| 過去のバージョンのSTSを使用したい場合は\ `STSのGitHub <https://github.com/spring-projects/sts4/wiki/Previous-Versions>`_\ からダウンロードされたい。

なお、以下で紹介する導入手順はWindowsを前提としているため注意されたい。

ダウンロードした「spring-tool-suite-4-4.x.x.RELEASE-e4.xx.x-win32.win32.x86_64.self-extracting.zip」を任意のフォルダに展開する。
展開されたフォルダ内の「SpringToolSuite4.exe」を実行することでSTSを起動することができる。

|

.. _SpringToolSuite4InstallingPlugin:

プラグインの導入
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| STS4には従来のJakarta EE(Java EE)Webアプリケーション開発向けのWeb Tools Platform (WTP)やJSPエディタなどが搭載されていない、従来のSpring アプリケーション開発向けのXML形式のBean定義ファイルがサポートされていない等、Macchinetta Server Framework (1.x)で解説するアプリケーション開発に必要な機能が不足している。

| プラグインの導入はEclipse Marketplace経由で行う。
| STSのメニューから、Help > EclipseMarketplaceを選択し、以下のプラグインを導入する。

* Eclipse Enterprise Java and Web Developer Tools

  Webアプリ開発用のプラグイン(WTP)やJSPエディタを使用するために必要なプラグイン。

.. figure:: ./images_SpringToolSuite4/SpringToolSuite4EnterpriseJavaPlugin.png
  :alt: Eclipse Marketplace
  :align: center
  :width: 75%

.. _SpringToolSuite4ProxySettings:

.. note::

  プロキシ環境下でプラグインを導入する場合、プロキシ設定を行わないとEclipse MarketPlaceに接続できずプラグインを導入することができない。

  プロキシ設定は以下の手順で行える。

  * STSのメニューから、Window > Preferences > General > Network Connections からプロキシ設定を開き、Active ProviderをManualにしてHTTPとHTTPSにプロキシを設定する。

  .. figure:: ./images_SpringToolSuite4/SpringToolSuite4Proxy.png
    :alt: SpringToolSuite Proxy Settings
    :align: center
    :width: 50%

|

.. _SpringToolSuite4AdvanceSettings:

作業用の事前設定
--------------------------------------------------------------------------------

.. _SpringToolSuite4JavascriptEditorSettings:

JavaScriptのエディタ設定
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| eclipse 2020-06リリース以降、JavaScript用に使用されるエディタがJavaScript DevelopmentTools(以降JSDTと呼ぶ)で提供されていたJavaScript Editorから、Eclipse Wild Web Developerというプラグインで提供されるGeneric Text Editor(もしくは普通のText Editor)に変更されている。
| この影響でformatter.xmlを使用してのJavaScriptのフォーマットが行えないため、以下の手順でJSDTを導入する必要がある。

1. STSのメニューから、Help > Install New Softwareを選択し、Work withに「\ ``https://download.eclipse.org/releases/latest/``\ 」を入力する。
2. Web,XML,Java EE and OSGi Enterprise Development > JavaScript Development Tools を選択し、インストールを行う。

.. figure:: ./images_SpringToolSuite4/SpringToolSuite4javascript.png
  :alt: Eclipse Marketplace
  :align: center
  :width: 75%

.. note::

  JSDTのインストール後、再起動を行うことで自動的に.jsファイルをJavaScript Editorで開くようになる。自動的に切り替わらない場合は、STSのメニューから、Window > Preferences > General > Editors > File Associations を開き、\*.jsファイルに対してJavaScript Editorを関連付ける。

|

.. _SpringToolSuite4JavaSettings:

Java設定
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| STSの設定によっては予め用意したJDKではなくSTSに同梱されているJDKなどが使用される場合があるので、以下の手順でJDKの設定を確認する。

1. STSのメニューから、Window > Preferences > Java > Installed JREs を開き、予め用意したJDKにチェックがついていることを確認する。
2. 用意したJDKが一覧に存在しない場合は AddからStandard VMを選択し、Directoryから用意したJDKを選択し追加する。

.. figure:: ./images_SpringToolSuite4/SpringToolSuite4Java.png
  :alt: SpringToolSuite Java Settings
  :align: center
  :width: 50%

|

.. _SpringToolSuite4MavenSettings:

Maven設定
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| STSはデフォルトだとSTSに同梱されたMavenを使用するため、以下の手順で予め用意したMavenを使用するよう設定する。

1. Window > Preferences > Maven > Installations からAddを選択し、Directoryから用意したMavenを選択し追加する。

.. figure:: ./images_SpringToolSuite4/SpringToolSuite4Maven.png
  :alt: SpringToolSuite Maven Settings
  :align: center
  :width: 50%

|

.. _SpringToolSuite4ServerSettings:

Server設定
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| 過去のSTSではSTS本体にアプリケーションサーバが同梱されていたが、STS4からは同梱されなくなった。そのため、以下の手順でアプリケーションサーバの追加を行う。
| ここでは例としてTomcatを使用する場合の設定手順について説明する。

  1. Window > Show View > Other... > Server > Servers を選択し、Serverビューを表示する。
  2. Serverビューを右クリックし、New > Serverを選択する。
  3. Apache配下から使用しているTomcatのバージョンと一致するTomcatを選択しNextを押下する。
  4. Browseから事前にインストールしておいたtomcatを選択し、Finishを押下する。
  5. サーバにアプリケーションを設定したい場合は、追加したサーバを右クリックしてAdd and Removeを選択する。表示された画面のAvailableにある動作させたいアプリケーションを選択し、AddでConfiguredに追加してFinishを押下する。
  6. アプリケーションを設定したサーバを右クリックし、Startを選択してサーバを起動する。

.. figure:: ./images_SpringToolSuite4/SpringToolSuite4Server.png
  :alt: SpringToolSuite Server Settings
  :align: center
  :width: 50%

|

.. _SpringToolSuite4JavaVersion:

Javaバージョンが異なる場合の対応
--------------------------------------------------------------------------------

| 本ガイドラインで説明しているプロジェクトをインポートした際に、期待したJavaバージョンのJRE System Libraryを参照しない場合がある。
| これは、STSが起動時に使用するJavaバージョンや事前に準備されたプロジェクトが参照するmaven-compiler-pluginやJDKアクティブプロファイルの設定などにより、プロジェクトのJavaバージョンが変更されてしまうためである。
| ここでは、一時的にプロジェクトの設定を変更し、期待したJavaバージョンで動作させる方法を紹介する。ただし、一時的な手段であるため、設定変更やUpdate Maven Projectの実行などにより元に戻る点に注意されたい。

Project Facetsの設定
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

| Project FacetsのJavaバージョンを変更することにより、プロジェクトが参照するJRE System Libraryを変更することができる。
| マルチプロジェクトの場合は、各プロジェクト毎に設定する必要がある。

1. プロジェクトを右クリック > Properties > Project Facets を選択し、Javaのバージョンを変更する。

.. figure:: ./images_SpringToolSuite4/SpringToolSuite4_Project_Facets.png
  :alt: SpringToolSuite Project Facets
  :align: center
  :width: 60%

|

Maven Profileの設定
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

| Javaバージョンを変更したことに伴い、JDKアクティブプロファイルが有効になり、デフォルトプロファイルが呼ばれなくなる場合がある。
| そのため、Maven Profile selectionから必要なプロファイルを有効にする必要がある。
| 例えば、本ガイドラインのチュートリアルでは\ ``local``\ プロファイルが\ ``activeByDefault=true``\ に設定されているため、\ ``local``\ プロファイルを有効にする必要がある。

1. プロジェクトを右クリック > 「Maven」->「Select Maven Profiles…」をクリックし「local」にチェックを入れて「OK」ボタンを押下する。

.. figure:: ./images_SpringToolSuite4/MavenProfile.png
  :alt: Maven Plofile
  :align: center
  :width: 60%

プロジェクトによりMaven Profileの設定は異なるため、各プロジェクトのpom.xmlを参照し、適切に設定を変更されたい。

.. raw:: latex

  \newpage