【问题标题】:Cannot run scala files from command prompt无法从命令提示符运行 scala 文件
【发布时间】:2015-04-16 20:00:31
【问题描述】:

我无法从命令提示符运行 Scala 项目。当我在 Scala Worksheet 中编写程序时,它能够让它工作,但我想让它使用 CMD 从 Eclipse 运行。我做到了:

C:\WINDOWS\System32>scalac Hello_WORLD.scala
error: source file 'Hello_WORLD.scala' could not be found
one error found

然后,我尝试跳过编译,直接执行:

C:\WINDOWS\system32>scala Hello_WORLD
No such file or class on classpath: Hello_WORLD    

这是我在 Eclipse 中编写的代码。我在 src 文件夹中创建了一个 Scala 项目和一个 Scala 类。

class Hello_WORLD {
  def main(args: Array[String]){
     println("HELLO!")
  }
}

你能帮帮我吗?请尽量不要留下粗鲁的 cmets。这是我第一次尝试 Scala。非常感谢您的帮助。我尝试查看 StackOverflow 上的 Scala 文档和其他帖子,但没有一个对我的情况有所帮助。我确保环境变量配置正确。如果您需要更多信息,请在 cmets 中告诉我。

问候,

阿尼

【问题讨论】:

  • 你检查过你所在的目录吗?您必须与 HELLO_WORLD.scala 位于同一目录中!
  • 请不要告诉别人如何回答你的问题——“尽量不要离开粗鲁的 cmets”给人一种居高临下的感觉,而且没有必要。不太可能有人会留下粗鲁的 cmets,如果他们这样做,我们会标记他们。
  • 感谢@Travis Brown 的建议。
  • @Omid,这个目录怎么指定?

标签: eclipse scala cmd compilation execution


【解决方案1】:

Eclipse中有一个选项:

  • 从 Package Explorer 选项卡 -> 选择项目 src 目录 -> 右键单击​​ -> New -> Scala Application
  • 从文件 -> 新建 -> Scala 应用程序

为默认包选择其中一个,让我创建这个:

object HelloWorld extends App {
  println( "Hello World")
}

请注意,“主要”来自扩展 App。它是一个object 而不是一个类,您可以通过以下方式在 Eclipse 中运行它:

  • 在包资源管理器中选择它 -> 右键单击​​ -> 运行方式 -> Scala 应用程序
  • 运行 -> 运行配置 -> Scala 应用程序 -> 新建 -> Hello World -> 运行

如果您想从命令行运行它,您可以使用以下方法将代码导出到 jar 文件:

  • Package Explorer 选项卡 -> 右键单击​​ -> Java -> Jar 文件 -> 浏览以选择 Jar 文件的名称/位置。

【讨论】:

  • 非常感谢您!对此,我真的非常感激。如果可以的话,我会投票赞成:)。所以从现在开始我应该创建一个 Scala 应用程序而不是一个 Scala 类?
  • 在文档中使用 App 特征时列出了“注意事项”,因此可能并非在所有情况下都如此。我认为它当然适合一般用途。如果您想将 args 传递给它,您可能需要研究 Scala 应用程序的几个参数解析库之一。
【解决方案2】:

这是您必须采取的所有步骤:

1- 安装 Scala 并确保路径包含在 windows 路径变量中。(要检查它,请在终端中键入 scala,它应该转到 scala 控制台 2- cd 到带有 HellWorld.scala 的目录 3-代码应该是这样的:

object HelloWorld extends App{
println("Hello World!")
}

4- scalac Helloworld.scala

它应该工作。

【讨论】:

    【解决方案3】:

    Scala 程序需要一个主类才能像 java 一样工作,但如果您不想定义“主”,那么您可以通过扩展“应用”来使用“对象”。这将正常工作。在这种情况下,您不会被要求拥有一个“主”类。

    object FirstProg extends App {
       println("My first prog...!")
    }
    

    【讨论】:

      猜你喜欢
      • 2016-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-28
      • 2019-05-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多