配置在eclipse中运行Scala

时间:2010-12-09 13:26:37

标签: eclipse scala

我是Scala的初学者。我在eclipse中安装了Scala IDE,现在我想运行我的应用程序。它从未显示“以Scala应用程序运行”,而是显示“作为Java应用程序运行”或“Java applet”

我打开“运行配置”并单击“Scala应用程序”,我的项目名称为“test”,第二列为“Class Main”。我需要填写什么?我填写了“Main.Scala”,但它说“找不到mainmain class main.scala”。

你能帮助我运行这个项目吗?

14 个答案:

答案 0 :(得分:49)

如果你想运行整个项目,它应该有一个“主类”,在你应该定义的任何Scala对象中:

def main(args:Array[String]) { <some nice code here> }

从那里开始,它应该“调用”其余的对象来完成整个项目所做的任何事情。在“Class Main”列中,您应该指定对象的完全限定名称。例如,如果您在“starter”包中名为“Start”的类中定义main,则在“Class Main”字段中,您应该声明“starter.Start”。

但另一方面,如果您只想运行Scala对象,它应该扩展App,如果它不扩展App,Scala IDE将不会添加“Run as Scala Application ...”:

package greeter
object Hello extends App {
  println("Hello, World!")
}

答案 1 :(得分:23)

右键单击您的项目并检查“Scala编译器”设置。选中“Project Specific”复选框,然后尝试检查是否可以运行Scala对象(应该扩展App)。

答案 2 :(得分:15)

确保源代码中声明的与源目录下的目录结构匹配。

在这种情况下,如果源文件确实位于src / greeter / Hello.scala(而不仅仅是src / Hello.scala下),则声明包“greeter”的源文件将自动运行为scala

这是一个常见的错误,不会被语法检查器突出显示。

答案 3 :(得分:9)

如果您为Eclipse安装了Scala插件,请打开Scala透视图。然后右键单击您的项目并在“Configure”菜单中选择“Add Scala Nature”。

您现在应该可以运行Scala应用程序了。

答案 4 :(得分:5)

从此链接下载Scala IDE

重新启动Eclipse,创建Scala项目,然后创建Scala对象并输入。

 package greeter

    object Hello {
        def main(args:Array[String]) { 
          println("Hello, World") 
        }   
    }

以Scala应用程序运行

答案 5 :(得分:4)

如果是第一次,您在设置和创建项目后运行Scala IDE for eclipse,您需要的只是保存项目并重新启动IDE。在下一次开始时,&#34;以Scala应用程序运行&#34;出现了,可以使用。

答案 6 :(得分:2)

我遇到了Scala IDE for Eclipse运行扩展 Application 的Scala应用程序的问题,但是使用正确的主方法运行对象,即def main(args:Array[String]) {/*...*/}对我来说总是正常。

答案 7 :(得分:1)

我遇到了类似的问题。确保您的java和scala文件不在同一个包中。我改变了包名,它对我有用

答案 8 :(得分:1)

右键点击项目 - &gt;单击运行配置 - &gt;在“运行配置”窗口中,选择&#34; Scala应用程序&#34;

Run Configurations Window

答案 9 :(得分:0)

除非您有充分的理由说明需要Eclipse,否则我建议您尝试使用IntelliJ?

版本10刚刚今天早些时候发布,(免费)社区版非常高兴使用IntelliJ Scala插件。

答案 10 :(得分:0)

只是一个指针.. 我遇到了同样的困难。 从JAVA经验丰富,而不是创建一个Spark对象我创建了火花类,为什么我没有得到这个选项。

希望我的经历有所帮助。

答案 11 :(得分:0)

尝试在项目目录中运行sbt工具的eclipse命令,这将构建eclipse IDE的scala项目。然后,您可以毫无问题地配置运行配置,甚至可以自动为您完成。

    $ sbt
    > eclipse 
    [info] About to create Eclipse project files for your project(s).
    [info] Updating {file:/...path-to-your-project}root...
    [info] Resolving jline#jline;2.12.1 ...
    [info] Done updating.
    [info] Successfully created Eclipse project files for project(s):
    [info] your-project-name

完成!现在将您的项目导入Eclipse的工作区

答案 12 :(得分:0)

我使用Eclipse Luna Scala IDE遇到了这个问题。上述解决方案中没有一个可以编译我的Main.scala文件。

package main.scala

object Main {
  def main(args: Array[String]){
    println("Hello, I am the main object")
  }
}

问题如下:我的项目只引用了JRE系统库,但没有引用Scala库。我执行了以下步骤:

  1. 右键单击项目属性
  2. Java构建路径
  3. 检查Scala库是否缺失
  4. 点击“添加图书馆...”
  5. 添加应该随Scala IDE一起提供的所需Scala库。
  6. 然后,转到位于项目文件夹中某处的Main.scala文件,其中包含您的主要功能。如果右键单击文件,“Scala Application”应显示在“Run as”下。

答案 13 :(得分:0)

以下是我在eclipse上成功运行scala(Ubuntu)所采取的步骤:
1.下载Scala IDE
2.安装后,创建一个Maven项目。
3.右键单击该项目,进行配置并“添加Scala性质”
4.在.pom中,我提供了以下依赖项:

    <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.12</artifactId>
    <version>2.4.1</version>
</dependency>

    <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql -->
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.12</artifactId>
    <version>2.4.1</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-graphx -->
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-graphx_2.12</artifactId>
    <version>2.4.1</version>
</dependency>
  1. 确保src / main / scala位于构建路径上。
  2. 创建一个scala文件来测试您的项目。

希望这会有所帮助!