-
The pdf of Exploring Lift
error: value tools is not a member of package scala when using the scala console in IntelliJ IDEA October 20, 2010
If you get the following error whilst trying to use the scala console in Intellij IDEA:
<script>:3: error: value tools is not a member of package scala var value: scala.tools.nsc.InterpreterSettings = _ ^ <script>:4: error: value tools is not a member of package scala def set(x: Any) = value = x.asInstanceOf[scala.tools.nsc.InterpreterSettings] ^ Exception in thread "main" java.util.NoSuchElementException: None.get at scala.None$.get(Option.scala:185) at scala.None$.get(Option.scala:183) at scala.tools.nsc.Interpreter.bind(Interpreter.scala:622) at scala.tools.nsc.Interpreter$$anonfun$quietBind$1.apply(Interpreter.scala:630) at scala.tools.nsc.Interpreter$$anonfun$quietBind$1.apply(Interpreter.scala:630) at scala.tools.nsc.Interpreter$$anonfun$beQuietDuring$2.apply(Interpreter.scala:171) at scala.util.control.Exception$Catch.apply(Exception.scala:79) at scala.tools.nsc.Interpreter.beQuietDuring(Interpreter.scala:169) at scala.tools.nsc.Interpreter.quietBind(Interpreter.scala:630) at scala.tools.nsc.Interpreter.recordRequest(Interpreter.scala:276) at scala.tools.nsc.Interpreter.loadAndRunReq$1(Interpreter.scala:584) at scala.tools.nsc.Interpreter.interpret(Interpreter.scala:597) at scala.tools.nsc.Interpreter.interpret(Interpreter.scala:575) at scala.tools.nsc.InterpreterLoop.reallyInterpret$1(InterpreterLoop.scala:471) at scala.tools.nsc.InterpreterLoop.interpretStartingWith(InterpreterLoop.scala:514) at scala.tools.nsc.InterpreterLoop.command(InterpreterLoop.scala:361) at scala.tools.nsc.InterpreterLoop.processLine$1(InterpreterLoop.scala:242) at scala.tools.nsc.InterpreterLoop.repl(InterpreterLoop.scala:248) at scala.tools.nsc.InterpreterLoop.main(InterpreterLoop.scala:558) at scala.tools.nsc.InterpreterLoop.main(InterpreterLoop.scala:609) at org.jetbrains.plugins.scala.compiler.rt.ConsoleRunner.main(ConsoleRunner.java:33) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115)
You can fix it as follows:
- From the ‘Run’ menu click ‘Edit Configurations’
- Select the Scala Console run configuration and type -usejavacp in the ‘ConsoleArgs’ box
- Click Apply
To make this the default for all Scala Console run configurations
- right click on the top leve Scala Console icon and select ‘Edit Defaults’
- Type -usejavacp in the ‘ConsoleArgs’ box
- Click Ok
It should now work correctly
How to fix the Scala interpreter on 64 bit Windows October 13, 2010
If you install Scala 2.8 on 64 bit Windows using the IzPack Installer and then run the interpreter it will start up and immediately close again. If you try to run the scala.bat file that launches it from a command prompt you will then see the error ‘\scala was unexpected at this time.’
This is because by default the Scala is installed in the directory C:\Program Files (x86)\scala\bin and this directory name breaks the batch script at line 19:
set _SCALA_HOME=%SCALA_HOME%
To fix it all you have to do is change this line to:
set _SCALA_HOME=”%SCALA_HOME%”
Ie. surround the %SCALA_HOME% variable with speech marks. Note that to edit this file you will need adminstrator privileges
How to add a project reference – an introduction to IntelliJ IDEA 9 for Visual Studio users October 9, 2010
To add a reference to an external library (the equivalent of right clicking on project references and selecting ‘Add’ in VS):
- Goto Project structure dialog (File\Project structure or Ctrl+Alt+Shift+S)
- In the ‘Project settings’ pane select Modules
- Make sure your project is selected in the middle pane
- Click the dependencies tab in the right hand pane
You can now add and delete dependencies on libraries (equivalent to adding a project reference).
There are a number of different types of depency you can add, here they are with my best guesses at how they translate into Visual Studio terminology:
- Single entry module – a reference to a single jar file – same as adding a reference to a dll in VS
- Module library – a reference to a group of jar files (accessible only to this module?) – no real equivalent in VS
- Project library – a reference to a group of jar files (accessible to whole project?) – no real equivalent in VS
- Global library – a reference to a group of jar files (accessible to all projects?) – similar to adding a reference to a dll in the GAC
- Module dependency – a reference to another project – same as a project reference in VS