Scala ScalatraをIntelliJを使って開発&デバッグする Windows10

さてさて、前々回前回とsbtのScalaプロジェクトをIntelliJで開発するためにてこずっていたワタクシですが、やっと真打ち登場!です。

もともとやりたかったことは、Scalatraで作られたプロジェクトをIntelliJでデバッグとかしながらオシャレに開発していきたかったのです。

ScalatraはScalaのフレームワークです。今回は、バージョン2.6.5です。

環境は、Windows10 + IntelliJ コミュニティバージョン2020.1 です。

Scala IntelliJ sbtでビルドするプロジェクトをインポートする

で説明したように、プロジェクトをインポートします。

この後、sbt tool windowとかsbt shellのウィンドウがなければ、sbtでビルドすいるプロジェクトだと認識されていませんので、やりなおしましょう…。

Buildに失敗したというメッセージが出ます。

Extracting structure failed
(Global / dumpStructureTo) java.io.FileNotFoundException: C:\Users

気にしたほうがいいのかもしれませんが、支障は今のところないので、気にせず続行します。

デフォルトではsbtでビルドできるようになってないので、下記でも紹介しているように、

File→Setting→Build, Excution…→Build Tools→sbtの画面で

Use sbt shellとあるところのチェックボックスを二つチェックします。

sbt shellのウィンドウで、

jetty:start

と打ち込みます。いろいろ、バーっと表示が出ますが、

2020-07-31 16:55:08.612:INFO:oejs.Server:main: Started @2375ms

と出て、Jetty Webサーバーがちゃんと動作したっぽいです!!
ブラウザなどで localhost:8080 に接続すると、ちゃんと応答が帰ってきます。やったぁ。

さて、次の課題はデバッグです。

デフォルトでは、デバッグの緑の虫アイコンさえ、灰色になってます。

虫さん…死んでる…。

以下、デバッグできるようにする手順です。

Run → Edit configurations 

として、Remoteというのを選んで

Attach to remote JVM

というのが選択されているのを確認して、OKをクリックします。

ちなみに、ここでJVMに下記のオプションをつけて実行することになっています。
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

おまじないみたいですが、この内容が知りたければ、下記サイトに書いてあります。

https://docs.oracle.com/javase/1.5.0/docs/guide/jpda/conninv.html

虫のアイコンが緑に光り輝きますが、まだここでは押さないでください。


build.sbt に次のオプションを足します。

javaOptions ++= Seq(
"-Xdebug",
"-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
}


これで、もう一度ビルドします。jetty:start ってやって、緑の虫さんのデバッグアイコンをクリックします。

注意事項ですが、 jetty:start ってやって から、デバッグしないとできません。

5005番のポートを使う、JVMのプロセスにアタッチしてデバッグするからからなので、JVMが立ち上がってないとデバッグできないのです。

Debug ウィンドウに

Connected to the target VM, address: 'localhost:5005', transport: 'socket

って表示されたら、とりあえずデバッグが接続できています。

localhost:8080 にWebブラウザで接続してみます。

すると、設定してあったブレークポイントで止まりました!やったね⊂(^-^)⊃


Scala IntelliJ IDEAでsbtのプロジェクトを作る Windows10

現在私は、ScalaのScalatraというフレームワークで書かれた開発プロジェクトをわけあって引き継いでおります。
前に作っていた人は、現在うちの会社で別の仕事をしているのですが、その人は開発環境とかあんまり気にしないタイプで、テキストエディタ的にVisual Studio Codeを使っていたということです。

ただ、私は開発環境でデバッグとかしながら開発したい派です。Android Studioとかも使っていて親しみがあるので、IntelliJ IDEAでやってやろうと思いました。

しかし、いきなりIntelliJにScalatraのコードをブチこんでも全然うまくいかなかったんですよ。Scalatraのバージョンは2.6.5です。

というわけで、まずは初心にかえり、超簡単なプロジェクトをIntelliJで作ってみます。

環境は、Windows10 + IntelliJ IDEAコミュニティバージョン2020.1です。

ここで、とっても大事な話をします。

sbtで動かすScalaプロジェクトと、sbtを使わないScalaプロジェクトは、IntelliJに最初の導入をする部分で違います。

ここ間違うと、私みたいにはまります。(ノω・、) ウゥ・・・

最初、下記のページを見てやってたんですよ。

Intellij で sbt を使って Scala プロジェクトをビルドする
https://docs.scala-lang.org/ja/getting-started/intellij-track/building-a-scala-project-with-intellij-and-sbt.html

File→New→Projectと行くと、下記のような画面になりますが、

↑ここでScalaを選択してはダメです。

↓下記のように、左がScalaで、右がsbtを選択しましょう。


今回は、サンプルなので、気を付ける場所はここだけです。

Nextを押して、プロジェクトの保存場所を選択して、OKをクリックします。

プロジェクトを作ると、sbtの構成を、IntelliJが作ってくれるので、多少時間がかかります。

サンプルとして、さっきも紹介した下記のサイトにあるサンプルコードを書いておきます。

https://docs.scala-lang.org/ja/getting-started/intellij-track/building-a-scala-project-with-intellij-and-sbt.html

object Main extends App {
    val ages = Seq(42, 75, 29, 64)
    println(s"The oldest person is ${ages.max}")
}

画面の一番下に、sbt shellというタブがあります。

これで、

「ん~ 動くのかな?」

ということで、run と打ち込んでも、何も起こりません。

「動け、動け、動け、動いてよ~!!」

と泣き叫びたくなりますが、落ち着きましょう(´ω`)。

File→Setting→Build, Excution…→Build Tools→sbtの画面で

Use sbt shellとあるところのチェックボックスを二つチェックします。

OKをクリックして、sbt shellのところでもう一度、run って入力します。

すると、ちゃんと動作して、プログラムの実行結果がsbt shellに表示されました!

The oldest person is 75

ってやつが実行結果ですね。


Vue.js コンポーネントの中のテンプレートで配列のオブジェクトのリンクを表示する

以前、Vue.jsを使って、下記のようなことをしましたが、「早いもんだぜ」でもう1年が経ちました。

私ってめちゃくちゃ忘れっぽいんですよ。健康だってことですかね?つまり、Vueのことについてカケラも覚えていませんでした…。

特に時間がかかったのが、
「リンクを作る」
ところです。

「エッツ そんなのちょちょいとできないの?」

と思われると思いますが、できなかったんですよ。

前置き長いですが、本題に入ります。ちなみに、この度のケースでは、Nuxtとかで使っているわけではなく、Vueをパーツで使っています。Routerとかを使うわけではありません。

今回はVue.jsでリンク、つまり<a>タグの”href”属性を作ることをやります。

下記は、まだリンクがありません。

<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="UTF-8">
    <script src="https://unpkg.com/vue@2.5.17"></script>
</head>

<body>

<div id="fruits-component">
  <ol>
    <fruits-component v-for="eachFruit in fruitsItems" :key="eachFruit.name" :fantastic-fruit="eachFruit">     	
    </fruits-component>
  </ol>
</div>

<script>

let fruitsItems= [
    {name:'りんご', id:'101'}, {name:'バナナ',id:'102'}, {name:'なし',id:'103'}
  ];


let fruitsComponent = Vue.component('fruitsComponent',{
		props: {
			  'fantasticFruit': { 
			      type: Object, 
			      required: true 
			    }
			  },

		template: ' <li>{{fantasticFruit.name}}</li>',
});

new Vue({
	
  el: '#fruits-component',
  data: { fruitsItems  },
  components: {
	    'fruitsComponent': fruitsComponent,
	  }
  
})

</script>
</body>

上記の解説です。

①データは [{name:’りんご’, id:’101′}, {name:’バナナ’,id:’102′}, {name:’なし’,id:’103′}] となっています。3つのオブジェクトが一つの配列に入っています。

②コンポーネントという仕組みを使っています。
HTMLタグでは<fruits-component> </fruits-component>で表現されるところがコンポーネントの中身になります。
わかりにくい部分なんですが

<fruits-component v-for="eachFruit in fruitsItems" :key="eachFruit.name" :fantastic-fruit="eachFruit">         
</fruits-component>

ってなっている、:fantastic-fruit=”eachFruit” が、v-forで回しているeachFruitを fruits-component コンポーネントのfantastic-fruitに結びつけています。データバインディングのディレクティブというやつです。
:fantastic-fruit

v-bind:fantastic-fruit
の略です。詳しくは、本家サイトをご覧ください。

https://v1-jp.vuejs.org/guide/syntax.html

③ fruits-component コンポーネントのfantastic-fruitに結び付いたデータを、コンポーネント内のテンプレート構文で出力します。
template: ‘ {{fantasticFruit.name}}’ の部分ですね。

正直なところ、同じデータの参照を、いろいろな名前で呼んでいるので、わかりにく…って思います。(もっとスッキリするやり方があれば教えてください。)

さてさて、本題の<a>リンクの出力に行きます。

コンポーネントのテンプレート部分だけ変更します。

let fruitsComponent = Vue.component('fruitsComponent',{
		props: {
			  'fantasticFruit': { 
			      type: Object, 
			      required: true 
			    }
			  },

		template: '<li><a href="{{fantasticFruit.id}}.html">{{fantasticFruit.name}}</a></li>',
});

これで<a>リンクができたように見えますが、実はできてません。出力されたHTMLを見ると、下記のようになっています。

<a href="{{fantasticFruit.id}}.html">りんご</a>

ふぇぇ~なんで~(>_<)

となりますが、XSSを防ぐために、このようになっているようです。(すみません、Vue関連のどっかのサイトで見た気がするのですが、リファレンスがわからなくなってしまいました…。)

一つの手段は、computed という機能を使うことです。fruitsComponentの中身だけ、次のように書き換えます。

let fruitsComponent = Vue.component('fruitsComponent',{
		props: {
			  'fantasticFruit': { 
			      type: Object, 
			      required: true 
			    }
			  },

		template: '<li><a :href="fruitURL">{{fantasticFruit.name}}</a></li>',
		computed:    {
			  fruitURL: function () {
			      return this.fantasticFruit.id + ".html";
	    	  }
		}
});

:href=”fruitURL” とやっているところで、hrefという属性に、fruitURLを紐づけています。前述もしました、データバインディングです。

computedの中から、popsにあるデータにアクセスするときは

this.fantasticFruit.id

.html の部分が必要なければ単純に、テンプレートの中身を

template:'{{fantasticFruit.name}}',

としてもできます。が、この中にjavascriptの文字列が書けるようなので、+”html” とかで行けそうですが、何かと面倒そうだったのでやめました…。

Scala sbtでビルドするとFAILED DOWNLOAD

Scalaまったく初心者の私です。

今回、Windows10+IntelliJ で前からあるプロジェクトのメンテナンスをします。

まずは、やっぱり一応動作させたいじゃないですか。

前回、チュートリアルとかやってみて、

「ふむふむ。Scalaってsbtというビルドツールがあるのね。」

とかわかってきたぐらいです。

まずは、sbtをインストールします。

涙が出るほど簡単です!下記から、Windows用のmsiをダウンロードしてインスコします。

https://www.scala-sbt.org/1.x/docs/ja/Installing-sbt-on-Windows.html

ありがたやー。( ˊᵕˋ )

コマンドプロンプトで、

sbt

って打ってみます。

なんやかんや出てきたら、sbtインストール成功です。

じゃあ、ついに、プロジェクトをビルドしてみますYO!

今回は、既存プロジェクトのメンテなので、もうsbtファイルが存在しています。sbtファイルは、ビルドに必要な情報が入ったファイルです。

build.sbt

コマンドプロンプトで、上記のファイルのあるフォルダへ移動します。

sbt

と打ちます。

ドン!

いろいろとメッセージが流れていきます。

FAILED DOWNLOAD

ってなってしまいました…。(>_<)

調べたところ、下記にあるように

https://stackoverflow.com/questions/25306976/failed-download-error-while-trying-to-create-scala-jar

build.sbtに下記を付け加えます。

libraryDependencies ++= Seq(
"org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" artifacts (
Artifact("javax.servlet", "jar", "jar")
)
)

そうしたら、無事にビルドできました!( ˊᵕˋ )


Scala IntelliJ でError:Abnormal build process termination

いろいろな事情があり、Scalaに取り組んでいる私です。

ちょっと前のコードをメンテする的なやつなので、そんなに踏み込んで勉強する気はありません。2020年、Scalaの立ち位置ってどうなんでしょうね。

興味のある方は、2018年の下記記事をご覧ください。田島メンターによると、Scalaは年収が一番高い言語らしいw そんで、学習コストも高いんだって。
https://techacademy.jp/magazine/17334

で、私の環境ですが、Windows10+IntelliJ (Community 2020.1) でやっていこうと思います。

最初にテスト的に下記リンクにある公式のチュートリアルをやります。

Intellij で Scala を始める

https://docs.scala-lang.org/ja/getting-started/intellij-track/getting-started-with-scala-in-intellij.html

で、Runしようとしたら、タイトルのエラーですよ。

Error:Abnormal build process termination: 
C:\Users\杉田玄白.jdks\openjdk-14.0.1\bin\java.exe -Xmx700m -Djava.awt.headless=true -Djdt.compiler.useSingleThread=true -Dpreload.project.path=D:/HelloWorld -Dpreload.config.path=C:/Users/杉田玄白/AppData/Roaming/JetBrains/IdeaIC2020.1/options -Dcompile.parallel=false -Drebuild.on.dependency.change=true -Dio.netty.initialSeedUniquifier=3471885264834181241 -Dfile.encoding=windows-31j -Duser.language=ja -Duser.country=JP -Didea.paths.selector=IdeaIC2020.1 "-Didea.home.path=C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.1.2" -Didea.config.path=C:\Users\杉田玄白\AppData\Roaming\JetBrains\IdeaIC2020.1 -Didea.plugins.path=C:\Users\杉田玄白\AppData\Roaming\JetBrains\IdeaIC2020.1\plugins -Djps.log.dir=C:/Users/杉田玄白/AppData/Local/JetBrains/IdeaIC2020.1/log/build-log "-Djps.fallback.jdk.home=C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/jbr" -Djps.fallback.jdk.version=11.0.7 -Dio.netty.noUnsafe=true -Djava.io.tmpdir=C:/Users/杉田玄白/AppData/Local/JetBrains/IdeaIC2020.1/compile-server/helloworld_f3806def/temp -Djps.backward.ref.index.builder=true -Dkotlin.incremental.compilation=true -Dkotlin.incremental.compilation.js=true -Dkotlin.daemon.enabled -Dkotlin.daemon.client.alive.path=\"C:\Users\杉田玄白\AppData\Local\Temp\kotlin-idea-14938841863943177906-is-running\" -Dscala.compiler.indices.rebuild=true -classpath "C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/java/lib/jps-launcher.jar" org.jetbrains.jps.cmdline.Launcher "C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/maven-model-builder-3.6.1.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/jps-model.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/idea_rt.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/maven-resolver-provider-3.6.1.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/plexus-interpolation-1.25.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/gson-2.8.6.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/slf4j-api-1.7.25.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/protobuf-java-3.5.1.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/forms-1.1-preview.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/maven-model-3.6.1.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/jna.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/java/lib/jps-builders-6.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/platform-api.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/lz4-java-1.7.1.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/maven-builder-support-3.6.1.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/java/lib/maven-resolver-transport-http-1.3.3.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/httpclient-4.5.12.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/plexus-utils-3.2.0.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/java/lib/maven-resolver-transport-file-1.3.3.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/annotations.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/netty-common-4.1.47.Final.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/java/lib/jps-builders.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/netty-transport-4.1.47.Final.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/maven-resolver-api-1.3.3.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/jdom.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/netty-codec-4.1.47.Final.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/log4j.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/asm-all-7.0.1.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/java/lib/aether-dependency-resolver.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/util.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/trove4j.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/commons-lang3-3.9.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/commons-logging-1.2.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/netty-buffer-4.1.47.Final.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/jna-platform.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/oro-2.0.8.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/plexus-component-annotations-1.7.1.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/netty-resolver-4.1.47.Final.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/nanoxml-2.2.3.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/java/lib/javac2.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/guava-28.2-jre.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/qdox-2.0-M10.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/httpcore-4.4.13.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/maven-resolver-spi-1.3.3.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/resources_en.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/maven-artifact-3.6.1.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/maven-repository-metadata-3.6.1.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/maven-resolver-impl-1.3.3.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/maven-resolver-util-1.3.3.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/java/lib/maven-resolver-connector-basic-1.3.3.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/gson-2.8.6.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/jarutils.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/guava-28.2-jre.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/common-26.6.0.2.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/gradle/lib/gradle-api-6.1.1.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/gson-2.8.6.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/jarutils.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/lib/guava-28.2-jre.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/common-26.6.0.2.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/gradle/lib/gradle-api-6.1.1.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/IntelliLang/lib/intellilang-jps-plugin.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/eclipse/lib/eclipse-jps-plugin.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/eclipse/lib/common-eclipse-util.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/ant/lib/ant-jps-plugin.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/Groovy/lib/groovy-jps-plugin.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/Groovy/lib/groovy-rt-constants.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/maven/lib/maven-jps-plugin.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/gradle-java/lib/gradle-jps-plugin.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/Kotlin/lib/jps/kotlin-jps-plugin.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/Kotlin/lib/kotlin-stdlib.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/Kotlin/lib/kotlin-reflect.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/Kotlin/lib/kotlin-plugin.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/uiDesigner/lib/jps/ui-designer-jps-plugin.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/devkit/lib/devkit-jps-plugin.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/javaFX/lib/javaFX-jps-plugin.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/javaFX/lib/common-javaFX-plugin.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/jps/android-jps-plugin.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/android-common.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/build-common.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/android-rt.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/android-extensions-ide.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/sdk-common-26.6.0.2.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/common-26.6.0.2.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/repository-26.6.0.2.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/sdklib-26.6.0.2.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/jarutils.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/layoutlib-api-26.6.0.2.jar;C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.1.2/plugins/android/lib/manifest-merger-26.6.0.2.jar;C:/Users/杉田玄白/AppData/Roaming/JetBrains/IdeaIC2020.1/plugins/Scala/lib/scala-library.jar;C:/Users/杉田玄白/AppData/Roaming/JetBrains/IdeaIC2020.1/plugins/Scala/lib/compiler-shared.jar;C:/Users/杉田玄白/AppData/Roaming/JetBrains/IdeaIC2020.1/plugins/Scala/lib/jps/nailgun.jar;C:/Users/杉田玄白/AppData/Roaming/JetBrains/IdeaIC2020.1/plugins/Scala/lib/jps/compiler-jps.jar;C:/Users/杉田玄白/AppData/Roaming/JetBrains/IdeaIC2020.1/plugins/Scala/lib/jps/sbt-interface.jar;C:/Users/杉田玄白/AppData/Roaming/JetBrains/IdeaIC2020.1/plugins/Scala/lib/jps/incremental-compiler.jar;C:/Users/杉田玄白/AppData/Roaming/JetBrains/IdeaIC2020.1/plugins/Scala/lib/spray-json_2.12-1.3.4.jar;C:/Users/杉田玄白/AppData/Roaming/JetBrains/IdeaIC2020.1/plugins/Scala/lib/scala-compiler-indices-protocol_2.12-0.1.1.jar" org.jetbrains.jps.cmdline.BuildMain 127.0.0.1 65281 d607197f-42f1-4fc9-b319-d3aff1d2dc11 C:/Users/杉田玄白/AppData/Local/JetBrains/IdeaIC2020.1/compile-server
Error occurred during initialization of VM
Failed setting boot class path.

ぎゃー!!

イヤー!!

助けて、田島メンター!!

ってなりますよね。

残念ながら田島メンターは近くにいないので、ググります。

でました。

StackOverflowさんは本当に神ですね。(>_<)

https://stackoverflow.com/questions/43294333/intellij-idea-abnormal-build-process-termination-after-heap-size-change

JDKが32bitだとこうなるらしいです。

64bit版のJDKをインストールして、IntelliJ でのJDKの指定を64bitのものになおすと、治りました!