这件事情不断涌现
我检查了我的所有源文件都是utf8编码,我使用'-encoding UTF8'标志与scalac和scala命令行工具
有任何想法吗?
谢谢
答案 0 :(得分:7)
为了记录这个问题,问题在于程序是这样运行的:
scala filename.class
相反,它应该像这样运行:
scala package.hierarchy.Object
Object
是您希望运行的包含main
的对象的名称。
答案 1 :(得分:7)
我在使用Main.scala运行sbt“test”时遇到了这个问题,原因是它没有保存在UTF-8中。我修改了Eclipse Main.scala“File / Properties / Text file encoding / Other”到“UTF-8”并保存。
答案 2 :(得分:4)
尝试设置类路径以启动类似scala-2.8 /path/to/jars/*
的scala解释器时出现此错误。
此帖子Setting multiple jars in java classpath中的解决方案解决了我的问题;显然,解释器试图打开一个jar文件,好像它是一个包含scala命令的文本文件。
实际上,我注意到只是将类路径放在引号中会阻止此消息。该消息表示它正在尝试将.jar文件加载为要解释的scala程序。它不能,因为它是二进制的。
scala-2.8 "/path/to/jars/*"
运行正常。然后,类路径和星号由Java扩展,而不是shell。
答案 3 :(得分:0)
这种情况很少见,但是就我而言,这是因为我有一些文件的文件所有权已设置为我所咨询的公司。这不是受安全保护的普通文件所有权,而是可以使用右键单击->文件所有权->个人禁用的Microsoft Azure保护加密(如果在其中设置了业务域,则将其加密并需要解码)。 Windows应用程序可以正常打开文件,但使用非ms工具(例如winrar)打开文件,看似在这种情况下,它无法解码文件。理想情况下,应该有一种使用加密文件的方法,但是我不会在这里花时间! :)