IntelliJ IDEAのScalaプロジェクトで「エラー: メイン・クラスMainが見つからなかったかロードできませんでした」と出た
環境
IntelliJ IDEA 2017.2.5
Build #IC-172.4343.14, built on September 26, 2017
JRE: 1.8.0_152-release-915-b12 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.12.6
エラー内容
IntelliJ IDEA Community版でScalaプラグイン入れてScalaプロジェクト作り、src/main
に新しいディレクトリ作ってそちらにソースコード追加しようとしたが、何故かNew
メニューにScala Class
が出てこず、無理やりMain.scala
のようなファイルを作りRun
してもエラーが出てしまう…。
src/main/scala-2.12.4/Main.scala
object Main extends App { val a = 2 val b = 3 println(s"a * b = ${a * b}") }
実行結果
エラー: メイン・クラスMainが見つからなかったかロードできませんでした
解決方法
新規作成したプロジェクト:idea-study
新規作成したディレクトリ:src/main/scala-2.12.4
File
→ Project Structure
→ Project Settings
→ Modules
でidea-study
を選択
右のツリーの中からscala-2.12.4
を選択して、上の方にあるMark as:
のSources
をクリックしOK
をクリックする
解決後
ディレクトリがソースコード用のディレクトリとして認識され、色もデフォルトのものから青色に変わり、New
にもScala Class
が表示されるようになり、Run
も通るようになる。
a * b = 6
その他
N予備校の大規模Webアプリ/Scala基礎Scala基礎コース/07.IDE を使った Scala プログラミング
で詰まったのでメモ。
昔はsrc/main
にディレクトリ追加すれば自動でソースコード用のディレクトリとして認識されたのかな。
ちなみにN予備校の方ではsrc/main/scala-2.11
となっていたけど、今のバージョンに合わせてsrc/main/scala-2.12.4
としている。
別にscala-2.11
でも動くと思う(多分)。
それと実行は出来ているけど、別のよく分からないエラーが出ているが、それは今度調べる(多分)。
objc[94437]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java (0x10ee9a4c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x10ef844e0). One of the two will be used. Which one is undefined.