2011-10-10 14 views
9

Uczę się Scala i utknąłem w scenariuszu cześć świata.Scala: Hello World Script nie działa

Moja hello.scala jest:

Console.println("Hello World") 

Używam skrypt tak:

scala hello.scala 

mam dziwny wyjątek:

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 

mój SCALA_HOME to/opt /scala-2.9.1.final
i moja ścieżka ma $ SCALA_HOME/bin w nim.
Mój JAVA_HOME to: /usr/java/jdk1.7.0

Czy to jest problem z moimi ustawieniami, czy jest to spowodowane problemem z bibliotekami Scala i JDK1.7?

+0

Czy działa z inną wersją Scala/JDK? – Jus12

+0

Na jakiej platformie jesteś? – Mark

+0

Jestem na Fedorze 15. – Salil

Odpowiedz

21

Wygląda na to, że nazwa hosta nie rozwiązuje problemu z poprawnym adresem IP, więc scala nie może połączyć się z usługą kompilatora. Proszę sprawdzić plik/etc/hosts, powinien mieć zapis jak poniżej:

127.0.0.1 salil 

Po ustawieniu mapowanie nazwy hosta/IP, można użyć polecenia ping salil aby potwierdzić, że ustawienie jest prawidłowe.

+0

To jest ten, który pojawia się na OSX (i wydaje się dość oczywiste, że * jest * OSX w tym przypadku, biorąc pod uwagę wartość JAVA_HOME) –

+0

@Brian hsu, wielkie dzięki. Spróbuję to wkrótce. Na podstawie przegranych twoja odpowiedź brzmi, jestem pewna, że ​​to zadziała :-) – Salil

+6

'scala-niewysokiego' jest obejściem: nie rozpoczyna procesu w tle dla kompilacji. – retronym