2011-10-10 13 views
9

Sto imparando Scala e sono bloccato al ciao world script.Scala: Hello World Script non funziona

mio hello.scala è:

Console.println("Hello World") 

Sono in esecuzione lo script come questo:

scala hello.scala 

ottengo un'eccezione strana:

java.net.UnknownHostException: salil: salil: Name or service not known 
    at java.net.InetAddress.getLocalHost(InetAddress.java:1438) 
    at scala.tools.nsc.io.Socket$.localhost(Socket.scala:38) 
    at scala.tools.nsc.CompileSocket.getsock$1(CompileSocket.scala:169) 
    at scala.tools.nsc.CompileSocket.getOrCreateSocket(CompileSocket.scala:184) 
    at scala.tools.nsc.ScriptRunner.compileWithDaemon(ScriptRunner.scala:80) 
    at scala.tools.nsc.ScriptRunner.compile$1(ScriptRunner.scala:123) 
    at scala.tools.nsc.ScriptRunner$$anonfun$withCompiledScript$1.apply$mcZ$sp(ScriptRunner.scala:157) 
    at scala.tools.nsc.ScriptRunner$$anonfun$withCompiledScript$1.apply(ScriptRunner.scala:131) 
    at scala.tools.nsc.ScriptRunner$$anonfun$withCompiledScript$1.apply(ScriptRunner.scala:131) 
    at scala.tools.nsc.util.package$.waitingForThreads(package.scala:26) 
    at scala.tools.nsc.ScriptRunner.withCompiledScript(ScriptRunner.scala:130) 
    at scala.tools.nsc.ScriptRunner.runScript(ScriptRunner.scala:188) 
    at scala.tools.nsc.ScriptRunner.runScriptAndCatch(ScriptRunner.scala:201) 
    at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala 

mia SCALA_HOME è/opt /scala-2.9.1.final
e il mio percorso ha $ SCALA_HOME/bin in esso.
mio JAVA_HOME è: /usr/java/jdk1.7.0

questo è un problema con le mie impostazioni o è a causa di qualche problema con le librerie Scala e JDK1.7?

+0

Funziona con una versione diversa di Scala/JDK? – Jus12

+0

In quale piattaforma sei? – Mark

+0

Sono su Fedora 15. – Salil

risposta

21

Sembra che il nome host non risolva la correzione dell'indirizzo IP, quindi scala non è in grado di connettersi al servizio del compilatore. Si prega di verificare il file/etc/hosts, dovrebbe avere un record come il seguente:

127.0.0.1 salil 

Dopo aver impostato la mappatura hostname/IP, è possibile utilizzare ping salil comando per confermare che l'impostazione sia corretta.

+0

Questo è uno che continua ad apparire su OSX (e sembra abbastanza ovvio che * sia * OSX in questo caso, dato il valore di JAVA_HOME) –

+0

@Brian hsu, grazie mille. Lo proverò presto. Sulla base dei risultati positivi ottenuti, sono sicuro che funzionerà :-) – Salil

+6

'scala -nocompdaemon' è una soluzione alternativa: non avvia un processo in background per la compilazione. – retronym