इंटेलिजे आईडीईए रन कॉन्फ़िगरेशन कैसे बनाएं जो एक IMain को चालू करने की अनुमति देता है

IntelliJ IDEA 12 CE डीबगर में स्कैला दुभाषिया चलाने में सक्षम होने की चाल क्या है। उदाहरण के लिए:

import scala.tools.nsc.interpreter.{JLineCompletion, IMain}
import scala.tools.nsc.Settings

object IntpTest extends App {
  val settings  = new Settings
  settings.Yrepldebug.tryToSetFromPropertyValue("true")
  settings.usejavacp.tryToSetFromPropertyValue("true")
  val intp      = new IMain(settings)
  intp.initializeSynchronous()          //elaborate way of heating the CPU
  assert(intp.isInitializeComplete)
  println("----READY TO GO----")
 //... later stuff here ....
  intp.close()
}

अगर मैं इसके लिए एक रन कॉन्फ़िगरेशन बनाता हूं और डीबगर लॉन्च करता हूं, तो एप्लिकेशन टिप्पणी पंक्ति में हमेशा के लिए फ्रीज लगता है, सीपीयू स्पिन अधिकतम पर, कुछ भी नहीं होता है।


EDIT: It seems to hang in class path resolution, probably producing some infinite loop?

"[email protected]" prio=5 tid=0x1 nid=NA runnable
  java.lang.Thread.State: RUNNABLE
  at java.lang.String.hashCode(String.java:1493)
  at scala.runtime.ScalaRunTime$.hash(ScalaRunTime.scala:210)
  at scala.collection.mutable.HashTable$HashUtils$class.elemHashCode(HashTable.scala:398)
  at scala.collection.mutable.HashMap.elemHashCode(HashMap.scala:39)
  at scala.collection.mutable.HashTable$class.findEntry(HashTable.scala:130)
  at scala.collection.mutable.HashMap.findEntry(HashMap.scala:39)
  at scala.collection.mutable.HashMap.get(HashMap.scala:69)
  at scala.reflect.io.ZipArchive.ensureDir(ZipArchive.scala:111)
  at scala.reflect.io.ZipArchive.getDir(ZipArchive.scala:123)
  at scala.reflect.io.FileZipArchive.iterator(ZipArchive.scala:136)
  at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
  at scala.reflect.io.AbstractFile.foreach(AbstractFile.scala:91)
  at scala.tools.nsc.util.DirectoryClassPath.traverse(ClassPath.scala:308)
  at scala.tools.nsc.util.DirectoryClassPath.x$16$lzycompute(ClassPath.scala:317)
  - locked <0x3c73> (a scala.tools.nsc.util.DirectoryClassPath)
  at scala.tools.nsc.util.DirectoryClassPath.x$16(ClassPath.scala:317)
  at scala.tools.nsc.util.DirectoryClassPath.packages$lzycompute(ClassPath.scala:317)
  at scala.tools.nsc.util.DirectoryClassPath.packages(ClassPath.scala:317)
  at scala.tools.nsc.util.DirectoryClassPath.packages(ClassPath.scala:297)
  at scala.tools.nsc.util.MergedClassPath$$anonfun$packages$1.apply(ClassPath.scala:375)
  at scala.tools.nsc.util.MergedClassPath$$anonfun$packages$1.apply(ClassPath.scala:375)
  at scala.collection.Iterator$class.foreach(Iterator.scala:727)
  at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
  at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
  at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
  at scala.tools.nsc.util.MergedClassPath.packages$lzycompute(ClassPath.scala:375)
  - locked <0x58fd> (a scala.tools.nsc.util.JavaClassPath)
  at scala.tools.nsc.util.MergedClassPath.packages(ClassPath.scala:370)
  at scala.tools.nsc.symtab.SymbolLoaders$PackageLoader.doComplete(SymbolLoaders.scala:243)
  at scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.complete(SymbolLoaders.scala:194)
  at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1229)
  at scala.reflect.internal.Mirrors$RootsBase.init(Mirrors.scala:240)
  at scala.tools.nsc.Global.rootMirror$lzycompute(Global.scala:59)
  - locked <0x6db> (a scala.tools.nsc.interpreter.IMain$$anon$1)
  at scala.tools.nsc.Global.rootMirror(Global.scala:57)
  at scala.tools.nsc.Global.rootMirror(Global.scala:37)
  at scala.reflect.internal.Definitions$DefinitionsClass.(Definitions.scala:166)
  at scala.reflect.internal.Definitions$definitions$.(Definitions.scala:20)
  at scala.reflect.internal.SymbolTable.definitions$lzycompute(SymbolTable.scala:13)
  at scala.reflect.internal.SymbolTable.definitions(SymbolTable.scala:13)
  at scala.tools.nsc.Global$Run.(Global.scala:1290)
  at scala.tools.nsc.interpreter.IMain.scala$tools$nsc$interpreter$IMain$$_initialize(IMain.scala:149)
  at scala.tools.nsc.interpreter.IMain.initializeSynchronous(IMain.scala:170)
  at de.sciss.scalainterpreter.CompletionTest$delayedInit$body.apply(CompletionTest.scala:13)

(स्कैला 2.10.3)

0

1 उत्तर

यह रन कॉन्फ़िगरेशन में "वैकल्पिक जेआरई का उपयोग" सक्षम करते समय ठीक काम करता है:

enter image description here

पुस्तकालय अभी भी कक्षा पथ पर पाए जाते हैं, डीबगर अब और नहीं लटका है।

0
जोड़ा