Scala 2.10 with Intellij?

2,362 views
Skip to first unread message

stephanos

unread,
Aug 12, 2012, 7:53:28 AM8/12/12
to scala...@googlegroups.com
Hi,

I was about to try Scala 2.10 by adjusting my settings:

scalaVersion := "2.10.0-M6"

Everything worked okay within SBT - but after I used 'gen-idea' to generate the Intellij project files and loaded them, there was a problem:

Exception in thread "main" java.lang.NoClassDefFoundError: scala/reflect/internal/Trees at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)

Obviously Intellij cannot find the "scala-reflect.jar" that was created in 2.10.

It seems sbt-idea creates a library entry "scala-2.10.0-M6" (which only includes the scala-compiler.jar and scala-library.jar) that is used as the compiler's classpath.
I tried adding scala-reflect.jar as a library dependency - but then it's still not part of the project's compiler (Settings>Compiler>Scala) and only included at runtime.

The question is how to solve this?
  • Is it possible to modify sbt-idea to include scala-reflect.jar?
  • Or should something be changed in the SBT build file to make gen-idea pick it up?

Cheers
Stephan

Adam Crain

unread,
Aug 12, 2012, 8:15:10 AM8/12/12
to scala...@googlegroups.com
Hi Stephanos,

This one bit me too. Some things got moved around in 2.10, but it's fixable.

1. Go to "module settings" -> "Project settings" -> "libraries"

2. Select the scala compiler bundle.

3. In the right pane, add a reference to scala-reflect.

-Adam

Arjan Blokzijl

unread,
Aug 28, 2012, 10:58:47 AM8/28/12
to Adam Crain, scala...@googlegroups.com
Btw, as an alternative, you could also add the following to your build settings so that gen-idea will keep working:

libraryDependencies <+= (scalaVersion)("org.scala-lang" % "scala-reflect" % _)

stephanos

unread,
Aug 28, 2012, 11:34:36 AM8/28/12
to scala...@googlegroups.com, Adam Crain
Did you try this, did it work?

I'm wondering because in my original post I wrote:
I tried adding scala-reflect.jar as a library dependency - but then it's still not part of the project's compiler (Settings>Compiler>Scala) and only included at runtime.

So just adding it as a library dependency, 'gen-idea' does not automatically add it to the compiler. As far as I know.

Vivekananda Nayak

unread,
Sep 23, 2016, 1:05:13 PM9/23/16
to scala-user, jadam...@gmail.com
Dear All,

Even I am facing same issue, below log fileals o please see my module settings attached snapshot for your reference. even after this setting i have same issue, Can you pls help

----------------------------------------------

"C:\Program Files\Java\jdk1.8.0_92\bin\java" -Didea.launcher.port=7553 "-Didea.launcher.bin.path=D:\04_Softwares\IDEA\IntelliJ IDEA 2016.2.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_92\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\rt.jar;C:\Program Files (x86)\scala\lib\scala-actors-2.11.0.jar;C:\Program Files (x86)\scala\lib\scala-actors-migration_2.11-1.1.0.jar;C:\Program Files (x86)\scala\lib\scala-library.jar;C:\Program Files (x86)\scala\lib\scala-parser-combinators_2.11-1.0.4.jar;C:\Program Files (x86)\scala\lib\scala-reflect.jar;C:\Program Files (x86)\scala\lib\scala-swing_2.11-1.0.2.jar;C:\Program Files (x86)\scala\lib\scala-xml_2.11-1.0.4.jar;D:\04_Softwares\IDEA\IntelliJ IDEA 2016.2.4\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain hello_world
Exception in thread "main" java.lang.ClassNotFoundException: hello_world
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:123)

Process finished with exit code 1
------------------------------------------------------------------------------------------------------------------------------------
Module settings.PNG
Reply all
Reply to author
Forward
0 new messages