2009-12-18 7 views
16

J'ai toujours vérifié que tous mes fichiers source sont encodés en utf8, et que j'utilise l'option '-encoding UTF8' avec les commandes scalac et scala outils de ligne
des idées?scala "erreur: erreur io lors du décodage" "avec utf-8

merci

+0

même problème a été eu ici http: // www. mail-archive.com/[email protected]/msg09623.html la recommandation pour résoudre ce problème était ce que j'ai essayé sans effet – deepblue

+0

Windows ou un autre système d'exploitation? C'est extrêmement pertinent dans ce cas. En outre, la pâte de l'erreur et un petit fichier d'échantillon seraient très utiles. –

+0

En fait ... cette erreur compile-t-elle ou s'exécute-t-elle? –

Répondre

7

Juste pour documenter, le problème est que le programme était en cours d'exécution comme celui-ci:

scala filename.class 

Au lieu de cela, il doit être exécuté comme ceci:

scala package.hierarchy.Object 

Object est le nom d'un objet contenant main que vous souhaitez exécuter.

+0

Cela fonctionne pour mon cas. – lonelyloner

4

J'avais cette erreur en essayant de définir un chemin de classe pour lancer l'interpréteur scala comme scala-2.8 /path/to/jars/*.

Les solutions dans ce fil Setting multiple jars in java classpath ont résolu mon problème; Apparemment, l'interpréteur tentait d'ouvrir un fichier jar comme s'il s'agissait d'un fichier texte contenant des commandes scala.

En fait, j'ai remarqué que mettre simplement le classpath entre guillemets empêche ce message. Le message signifie qu'il essaie de charger un fichier .jar en tant que programme scala à interpréter. Ça ne peut pas parce que c'est binaire.

scala-2.8 "/path/to/jars/*" fonctionne très bien. Le classpath et l'astérisque sont ensuite développés par Java, pas par le shell.

6

J'ai rencontré ce problème en cours d'exécution sbt "test" avec Main.scala, pour la raison indiquée que n'était pas enregistré en UTF-8. Je l'ai corrigé en changeant Eclipse Main.scala "Fichier/Propriétés/Codage de fichier texte/Autre" en "UTF-8" et en sauvegardant.

+1

Lorsque vous faites cela, vous remarquerez peut-être des changements de police autour des caractères spéciaux (tels que des tirets longs dans les commentaires, si vous les avez collés d'une page Web), qui m'a déjà fait trébucher. –

+0

Merci pour votre commentaire David :) m'a beaucoup aidé :) –

0

Pour une raison quelconque, j'ai perdu lire et écrire des droits d'accès aux fichiers source scala dans le projet (en utilisant Cygwin), après avoir ajouté rigths d'accès par chmod -R a+rw * problème disparaissent