你的浏览器还没开启 Javascript 功能!

キレイなSpring Bootの開発環境を構築する(WSL + Proxy + vscode)

Spring Bootの学習にあたって、最初の難関は開発環境の構築なり。

悲しきかな、社内の認証プロキシが絡むと難易度が更に増し、あまたの初心者はそこで躓き、そして散っていった。

我、それを救いべく、構築手順をここに記す!!

前提

  1. WSL環境が構築済みであること。まだの人はここを参考にしてみてください
  2. Windows側にVisual Studio Codeがインストール済みであること
  3. Visual Studio Codeの拡張機能にRemote - WSLインストール済み

IDE

Java開発のIDEと言えば、EclipsseかIntellijですが、私はあえてVisual Studio Codeをおすすめします。
理由は以下です。

IDE機能価格所感
Eclipse無料フリーのIDEで使えるだけ有り難いですが、インテリセンスが遅くてちょっとイライラします。もちろんカスタマイズ次第どうにでもなりますが、初心者向ではありません。
Intellij高い流石に年間10万円もするのIDEであって機能は申し分ない。これを使ってるだけでコーディング速度が1.5倍増し。いかんせん高い・・・自腹で買うのはかなり躊躇します。
Visual Studio Code無料テキストエディッタの皮を被ったIDE、オープンソースで開発者が多く、拡Javaの張機能も充実しています。 何より無料。

WSLの設定

Ubuntuのアプリケーションを起動し、WSL環境で以下のコマンドを実行します。

WSLでJdkをインストール

## プロキシをOnに設定
proxy_on

## openjdk-11をインストール
 sudo -E apt install openjdk-11-jdk-headless -y

WSL側のVisual Studio Codeの拡張機能をインストール

WSL環境側のVisual Studio Codeをコマンドラインで起動します。

code

以下3つの拡張機能をWSL側にインストールします。

Install on WSL:Ubuntuを押下

WSL側のVisual Studio CodeのProxyを設定

社内プロキシ環境の場合、WSL側でSpringのプロジェクトを作成するときにエラーが発生します。
WSL側のVisual Studio CodeのProxy設定を下記のように行います。

MavenのProxy設定

社内認証プロキシの場合、Spring Boot のプロジェクト作成時にMavenからモジュールをダウンロードする際に、以下の設定が必要です。

WSL環境で以下のコマンドを実行します。

## .m2/settings.xmlを編集、なければ新規作成
code ~/.m2/settings.xml

settings.xmlの中身

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <proxies>
          <proxy>
              <id>proxy-http</id>
              <active>true</active>
              <protocol>http</protocol>
              <host>proxy_server</host>
              <port>8080</port>
              <username>username</username>
              <password>password</password>
          </proxy>
          <proxy>
              <id>proxy-https</id>
              <active>true</active>
              <protocol>https</protocol>
              <host>proxy_server</host>
              <port>8080</port>
              <username>username</username>
              <password>password</password>
          </proxy>
      </proxies>
  </settings>

Spring Bootのプロジェクト作成

WSL側のVisual Studio Codeでctrl + shift + pでSpring Initializrを起動し、下記の図のようにプロジェクトを作成します。

Windows側でもプロジェクトフォルダを参照できるように、プロジェクトの作成場所を/mnt/配下にすることをオススメします。

作成完了したら、プロジェクトを新たしいWindowでOpenしましょう。

プロジェクト配下の.mvnフォルダ配下にjvm.configファイルを作成し、Proxy設定を行います。

  • 設定情報
-Dhttp.proxyHost=proxy.hoge.co.jp
-Dhttp.proxyPort=8080
-Dhttp.proxyUser=uer001
-Dhttp.proxyPassword=hogepass
-Dhttps.proxyHost=proxy.hoge.co.jp
-Dhttps.proxyPort=8080
-Dhttps.proxyUser=uer001
-Dhttps.proxyPassword=hogepass
-Djdk.http.auth.tunneling.disabledSchemes=

あとはSpring-Boot Dashbord上でアプリケーションを起動・デバッグして動作確認してみてください。

まとめ

以上がWSLでのSpring Boot開発環境構築手順でした。

WSLの一番のメリットは例え環境が壊れても、WSLをリセットして再びコマンドを実行すれば環境がすぐに復元できることです。

私は自分のPCをなるべく汚したくない人なので、最近は.NETの開発はホストのWindows機、他の言語(Java,Python)はWSLでするようにしています。

最後に

一つだけご注意ください。

Proxy設定のユーザーパスワードをファイルに直に書いていますので、パスワード変更になったら設定したファイルを変更する必要があります