我是一个scala初学者,我创建了一个简单的“Hello world”scala脚本,名为Hello.scala。错误代码:No such file or class on classpath: Hello.scala我如何知道我的scala类路径并将Hello.scala文件放在类路径上?
No such file or class on classpath: Hello.scala
kr98yfug1#
首先进入Hello.scala所在的目录。然后打开终端,输入scalac Hello.scala,这将编译Hello.scala文件。然后输入scala Hello,这将运行你的文件,我假设包含main方法的类名是Hello。希望这个工作!
Hello.scala
scalac Hello.scala
scala Hello
Hello
5w9g7ksd2#
源文件名和对象名(包含main)可以命名不同。我认为用户错误地将scala源文件名(没有文件扩展名)而不是对象名传递给“scala”二进制文件。这里hello.scala是一个编译后的源文件,但是你必须传递源文件中定义的Object名称才能运行实际的程序。
$ scalac <source-file.scala> $ scala <Object-defined-in-scala-souce-file>
字符串
zpqajqem3#
默认情况下,当前目录通常不在类路径中。尝试以下操作:
scala -cp . Hello
字符串我目前的工作目录是/home/dmitry/scala/testsimplejar/tmp。对我来说,这很有效:scala -cp "/home/dmitry/scala/testsimplejar/tmp" Hello这不起作用:scala -cp "/home/dmitry/scala/testsimplejar/tmp/*" Hello
scala -cp "/home/dmitry/scala/testsimplejar/tmp" Hello
scala -cp "/home/dmitry/scala/testsimplejar/tmp/*" Hello
3条答案
按热度按时间kr98yfug1#
首先进入
Hello.scala
所在的目录。然后打开终端,输入
scalac Hello.scala
,这将编译Hello.scala
文件。然后输入
scala Hello
,这将运行你的文件,我假设包含main方法的类名是Hello
。希望这个工作!
5w9g7ksd2#
源文件名和对象名(包含main)可以命名不同。我认为用户错误地将scala源文件名(没有文件扩展名)而不是对象名传递给“scala”二进制文件。
这里hello.scala是一个编译后的源文件,但是你必须传递源文件中定义的Object名称才能运行实际的程序。
字符串
zpqajqem3#
默认情况下,当前目录通常不在类路径中。尝试以下操作:
字符串
我目前的工作目录是/home/dmitry/scala/testsimplejar/tmp。
对我来说,这很有效:
scala -cp "/home/dmitry/scala/testsimplejar/tmp" Hello
这不起作用:
scala -cp "/home/dmitry/scala/testsimplejar/tmp/*" Hello