■ はじめに
https://dk521123.hatenablog.com/entry/2023/03/10/193805
で、Windwos で、Scala 開発環境を構築したが Windows/WSL + IntelliJ IDEA + Scala の開発環境を構築しようって 話になったので構築してみる
目次
【1】IntelliJ IDEA 1)IntelliJ IDEAの種類 2)サポートOS 【2】IntelliJ / WSL を使う上で注意 【3】構築手順 0)前提条件 1)WSLでの Ubuntu インストール 2)IntelliJ IDEA のインストール 3)プロジェクト作成 4)JDKの設定 5)デバッグ確認
【1】IntelliJ IDEA
* JVM 言語用の統合開発環境 (IDE)
1)IntelliJ IDEAの種類
[1] Ultimate [2] Community Edition
https://www.jetbrains.com/ja-jp/idea/download/#section=windows
[1] Ultimate
* 有料版
[2] Community Edition
* 無料かつオープンソース Apache 2.0 でライセンス * JVM と Android 開発のためのすべての基本的な機能を提供
2)サポートOS
* Windows * MAC * Linux
http://www.nhk.or.jp/gogaku/english/timetrial/index.html
【2】IntelliJ / WSL を使う上で注意
https://blog.foresta.me/posts/scala-in-wsl/
にあるように、Windows側に IntelliJ をインストールすると 以下のようなエラー ~~~~~~~~~~~~~~~~~~ sbt import cancelled: Cannot run program "//wsl$/Ubuntu/home/username/.sdkman/candidates/java/18.0.2-amzn/bin/java" (in directory "\\wsl$\Ubuntu\home\username\work\ScalaSampleProject"): CreateProcess error=193, %1 は有効な Win32 アプリケーションではありません ~~~~~~~~~~~~~~~~~~ がでるらしい。 IntelliJ は、どのOSでもサポートしているので、 WSL側のLinuxに、IntelliJ を入れて対応することにする。
【3】環境設定
* WSL2 がインストールされていること
簡易手順
wsl --set-default-version 2 wsl --install -d Ubuntu-22.04
1)WSLでの Ubuntu インストール
sudo apt-get update sudo apt-get upgrade # GUI # See https://ao-tela.com/wsl_gui/ sudo apt-get install libgl1-mesa-dev xorg-dev xbitmaps x11-apps sudo apt-get install ubuntu-desktop
2)IntelliJ IDEA のインストール
# Download wget https://download.jetbrains.com/idea/ideaIC-2023.1.2.tar.gz # Install sudo tar -xvf ideaIC-2023.1.2.tar.gz -C /opt/ # 起動 cd /opt/idea-IC-231.9011.34/bin/ ./idea.sh
任意:Pathを通す
vi ~/.bash_profile ~~~~~ export PATH=$PATH:/opt/idea-IC-231.9011.34/bin/ ~~~~~ source ~/.bash_profile # 起動できるか確認 idea.sh
3)プロジェクト作成
[1] [+ New Project]を選択 [2] 以下を入力 + Name: (任意、今回は「sample」) + Language: [+]-[Scala]
4)JDKの設定
[1] IntelliJ で [File]-[Project Structure]を選択 [2] [Platform Settings]-[SDKs]において、「SDK home path」のフォルダを クリックし、「Download JDK」を選択 [3] (JDK11の場合)以下を入力し、「Download」ボタン押下 + Version: 11 + Vendor: (任意、今回は、Amazon Corretto 11.0.19) + Location: (任意、今回は、/home/<USER>/java)
補足
* これをやらないと、Scala実行時、以下のエラーが発生する 【エラー内容】 Abnormal build process termination: nice -n 10 /mnt/c/java/jdk-11/bin/java ・・・略・・・ nice: ‘/mnt/c/java/jdk-11/bin/java’: No such file or directory
5)デバッグ確認
[1] 以下のサンプルでブレークポイントを張る [2] [Run]-[Debug Main.java]を選択 => ブレークポイントに止まるか確認する
サンプル
package main object Main extends App { class Hello(val name: String) { def printHello(): Unit = { println(s"Hello, ${this.name}!!!") } } class World(val name: String) { def printWorld(): Unit = { println(s"World, ${this.name}...") } } implicit def toWorld(hello: Hello): World = { new World(hello.name) } val hello = new Hello("Mike") hello.printHello // Hello, Mike!!! ★ここにブレークポイントを張る hello.printWorld // World, Mike... }
参考文献
https://snowsystem.net/other/windows/wsl2-ubuntu-systemctl/
関連記事
Scala ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2023/03/10/193805
Scala ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/03/12/184331
WSL2 ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2023/01/29/000000
【Linux】環境変数に関するあれこれ
https://dk521123.hatenablog.com/entry/2015/07/16/103501
IntelliJ IDEA ~ デバッグあれこれ ~
https://dk521123.hatenablog.com/entry/2023/11/05/000000