Java開発環境手順(配布用) - adachishohei/springboot-practice GitHub Wiki

ローカルPC 開発環境構築手順(Java)

OSへのログインアカウントに管理権限をつける

個人毎のアカウントが管理権限を持っていない場合、user1 / Pass123(もしくは Pass1234)でログインした後 システム環境設定 » ユーザとグループ から個人アカウントに管理権限を付与してください。

ミドルウェアのインストール

  • Apple ID 取得(アカウントを持っていない場合のみ)
  • https://appleid.apple.com/account#!&page=create から登録
  • 以降の手順は Terminal.app 起動後、コマンドラインから実行
  • Xcode インストール(1 で取得した Apple ID の ID/Password の入力を求められます)
xcode-select --install
  • HomeBrew インストール
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update && brew cleanup
brew tap caskroom/cask
brew tap caskroom/versions
  • Java8 インストール
brew cask install adoptopenjdk8
  • MySQLとgradle インストール
brew install [email protected]
brew install gradle
  • 環境変数設定
# ~/.bash_profile に以下の3行を追加
# ※ファイルが無い場合は新規作成してください
# ※bash以外のシェルを使っている場合は同様の設定になるよう調整してください
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
export PATH=$JAVA_HOME/bin:/usr/local/bin:$PATH
export PATH="/usr/local/opt/[email protected]/bin:$PATH"
  • 環境変数読み込み
source ~/.bash_profile

課題を進めていく中で、どこか一つのディレクトリの中に複数個作っていく方法がおすすめです

(例)

── 課題
 ├── 課題1
 ├── 課題2
 ├── 課題3
 └── 課題4

MySQL の自動起動

brew install した時点で MySQL は自動起動される設定になっています。この設定が邪魔になる場合は自動起動を無効化してください。

# 自動起動を無効にする
brew services stop mysql
# 自動起動を有効にする
brew services start mysql

MySQL の起動・停止方法と設定ファイルの例

※インストール完了時点で自動起動が有効になっている場合は start/stop コマンドは失敗します

# 起動
mysql.server start
# 停止
mysql.server stop
# MySQLコンソールへのログイン
mysql -uroot

MySQL に root パス無しでログイン出来るように設定

$ mysql -uroot

# 以下は mysql コンソールで実行
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';

設定ファイル

~/.my.cnf に書く

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init-connect='SET NAMES utf8mb4;SET AUTOCOMMIT=0'
skip-character-set-client-handshake
lower_case_table_names=1
sql_mode=NO_ENGINE_SUBSTITUTION
#log-slow-queries=/tmp/slow.log
#long-query-time=30
#log-queries-not-using-indexes
#log-slow-admin-statements
#log=/tmp/query.log
max_allowed_packet=32MB

IntelliJ IDEA の各種設定

※Pleiades日本語化プラグインは導入しないこと 課題を進める上でもそうですが、案件のガイドラインや各種設定・構築手順は全て英語UI前提で記述されているためです

ここ から Community をダウンロードしてインストールしてください

インストール後、設定画面から下記にチェックを入れていく

自動インポート

Preference -> Editor > General > Auto Import -> Add unambiguous imports on the fly
Preference -> Editor > General > Auto Import -> Optimize imports on the fly

Lombok プラグイン導入

IntelliJ IDEA -> Preferences -> Plugins で Lombok を検索してインストール

このままだとコンパイルエラーが発生するので下記も

Preferences -> Build, Execution, Deployment –> Compiler –> Annotation Processors ->
Enable annotation processing をチェック

CodeStyle プラグイン導入

コードをフォーマット(整形)してくれる機能

IntelliJ IDEA -> Preferences -> Plugins で google-java-format を検索してインストール
IntelliJ IDEA -> Preferences -> Other Settings -> Enable google-java-formatにチェックを入れる
Code Styleは、Default Google Java Styleを選択して、OKを押す

これでOption + Command + L でフォーマットできる(後続の Save Actions プラグインを入れていると保存時に勝手にフォーマットされます)

Save Actions プラグイン導入

保存時に自動フォーマット+αしてくれるプラグインです。 プロジェクト単位で都度設定が必要です

Preference -> Plugins -> Browse Repositories... で Save Actions を検索しインストール
Preferences -> Other Settings -> Save Actions -> "Compile file と Add static modifier to methods 以外"にチェックを入れて OK 押す

# Add class qualifier to static member access
# Add class qualifier to static member access outside declaring class only
の2つは片方しか選択できません。下の "outside declaring class only" がついている方にチェックを入れてください

Inspection

特定のコードに対して警告やエラーとして表示してくれる機能 ※警告やエラーがあってもコンパイルは通ります

以下設定は Severity を Warning から Error に変更してください

  • マジックナンバー禁止
Preferences > Editor > Inspections > Java > Abstraction Issue > Magic number
  • {} の省略を禁止
Preferences > Editor > Inspections > Java > Code style issues > Control flow statement without braces
  • Stringの固定値を比較する場合、"固定値".equals(string)と強制する
Preferences > Editor > Inspections > Java > Code style issues > 'expression.equals("literal")' rather than "literal".equals(expression)'
  • 条件文を&&や||を使ってシンプルにする
Preferences > Editor > Inspections > Java > Code style issues > 'if' statement may be replaced with && or || expression

DevTools でホットリロード(Spring Boot利用時、プロジェクト作成後に設定)

これは、各プロジェクト毎に設定する

DevToolsとは

DevToolsとは、簡単に言うと、開発環境でのコードの変更をキャッチし、自動でアプリケーションの再実行してくれるツールのことです(自動で、アプリケーションの再起動をするのは、動いている状態の時だけです。初回起動では、起動しません)

下にある、参考文献を読んでおくことをお勧めします

pom.xml に spring-boot-devtools を追加

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <version>2.0.1.RELEASE</version>
</dependency>

gradle を使っている場合は build.gradle に runtime(実行時) の依存ライブラリとして追加

dependencies {
    runtime('org.springframework.boot:spring-boot-devtools')
}
Preferences -> Compiler -> Build project automatically にチェックを入れる
Shift+Command+Aでregistryを選択したうえで、compiler.automake.allow.when.app.running にチェックを入れ有効にする

DevTools 公式

DevTools参考記事

その他、開発で便利なアプリ・ツール類

HomeBrew でインストール出来ます ★3 はとりあえず入れておきましょう

brew cask install alfred                   # ★☆☆ 超多機能な launcher
brew cask install dash                     # ★★★ リファレンスビュワー. つよい
brew cask install docker                   # ★★★ https://www.docker.com/what-docker
brew cask install insomnia                 # ★★☆ API開発時の確認・テストに使う
brew cask install iterm2                   # ★★★ ターミナルアプリ
brew cask install skitch                   # ★☆☆ 画像に注釈とか図形入れるのに便利
brew cask install sourcetree               # ★★★ GUI の Git クライアント
brew cask install sequel-pro               # ★★★ GUI の MySQL クライアント
brew cask install visual-studio-code       # ★★★ 最強のエディタ ※諸説あります
⚠️ **GitHub.com Fallback** ⚠️