Setting up scala with IntelliJ
JavaMacosScalaIntellij IdeaJava Problem Overview
I have Intellij ultimate 11.1, with the scala plugin installed.
I installed scala 2.9.2 using homebrew, which put scala in:
/usr/local/Cellar/scala/2.9.2>
>which scala
/usr/local/bin/scala
>scala -version
Scala code runner version 2.9.2 -- Copyright 2002-2011, LAMP/EPFL
Creating a new java module project, I get this:
Can someone help me fix these issues, why didn't the scala plugin make this work out of the box? :)
Java Solutions
Solution 1 - Java
You need to specify /usr/local/Cellar/scala/2.9.2/libexec
directory on your first screenshot. This is Mac brew
specific, the same case is valid for grails
installed via brew
.
Standard Scala distribution download has different layout which IDEA understands correctly, brew
is creating libexec
directory where it writes /lib
and /src
directories expected by IDEA.
Solution 2 - Java
Updated for Intellij 11.1.5
Here's a step by step for any of those who are trying to get Scala in IntelliJ up and running.
Download Scala Plugin
IntelliJ > Preferences > Plugins > Browse Repositories... > Scala Click Ok and allow IntelliJ to restart
Download Scala
In Terminal enter
brew install scala --with-docs
Setup symbolic links for IntelliJ discovery process
ln -s /usr/local/Cellar/scala/<version>/libexec/src /usr/local/Cellar/scala/<version>/src
ln -s /usr/local/Cellar/scala/<version>/libexec/lib /usr/local/Cellar/scala/<version>/lib
mkdir -p /usr/local/Cellar/scala/<version>/doc/scala-devel-docs
ln -s /usr/local/Cellar/scala/<version>/share/doc/scala /usr/local/Cellar/scala/<version>/doc/scala-devel-docs/api
Create Project in IntelliJ
Here you are going to create a Java project from scratch as you normally would. However, in the last step, you will select Scala in the "Technologies" page.
In the Use Scala Distribution enter /usr/local/Cellar/scala/<version>
In the Compiler dropdown select scala-compiler
Click Ok and you are ready to create your first Scala object
For reference -> <http://scalacookbook.blogspot.com/2012/09/scala-for-intellij.html>
Solution 3 - Java
The latest Brew has already realized this problem and created automatic symlinks upon installing Scala.
Firstly, install Scala with Documentation
brew install scala --with-docs
Secondly, provide the following path in IntelliJ
/usr/local/opt/scala/idea
Solution 4 - Java
Rather than downloading the docs separately you can use the --with-docs
option when installing scala with homebrew:
brew install scala --with-docs
Then in IntelliJ point your JavaDocs path in the scala-library to /usr/local/Cellar/scala/2.9.2/share/doc
.
Solution 5 - Java
I'm just found another way to configure scala with intelJIdea. If scala installed with brew then just write in terminal:
brew info scala
you will see smth like that:
scala: stable 2.11.4 (bottled)
http://www.scala-lang.org/
/usr/local/Cellar/scala/2.11.4 (3401 files, 433M) *
Built from source with: --with-docs
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/scala.rb
==> Options
--with-docs
Also install library documentation
--with-src
Also install sources for IDE support
==> Caveats
To use with IntelliJ, set the Scala home to:
/usr/local/opt/scala/idea
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
Then just include /usr/local/opt/scala/idea
into your idea config panel.
Solution 6 - Java
Now is 2021 year. my (latest) environment is:
IntelliJ IDEA
:IntelliJ IDEA 2020.3.2 (Community Edition)
OS
:macOS 10.14.6
Steps to setup Scala using IntelliJ IEA
in Mac
- install scala using brew
brew install scala
in IntelliJ
- install
Scala
plugin - configure
Java JDK
+ configureScala SDK
: when first time open*.scala
file, will notice you:- Project JDK is not defined
- No Scala SDK in module
finally can happy debug scala (file's class's main
function):
Solution 7 - Java
I am using Yosemite, and the following worked for me.
brew install scala --with-docs
Then I tested IntelliJ by creating a new project, using the Java SDK, and for compiler putting in:
/usr/local/Cellar/scala/[insertversion]/libexec
Here is what I see in IntelliJ when I created a new project with these settings
I tested compiling a Hello World program via this and it compiled correctly to the console.
Note, I ignored what @Zagorulkin said above even though it seems logical that if Homebrew is saying so my compile path should be different to the above.
Solution 8 - Java
Change /usr/local/Cellar/scala/2.9.2
to /usr/local/Cellar/scala/
and you are good to go.