在 Eclipse 中为 Scala 配置运行

Posted

技术标签:

【中文标题】在 Eclipse 中为 Scala 配置运行【英文标题】:configure run in eclipse for Scala 【发布时间】:2010-12-09 13:26:37 【问题描述】:

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

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

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

【问题讨论】:

如果不是配置问题,只是scala对象没有扩展App,我认为你应该更新问题标题,并选择一个正确的答案。 【参考方案1】:

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

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

从那里应该“调用”其余对象来执行整个项目所做的任何事情,并且在“类主”列中,您应该指定对象的完全限定名称。例如,如果您在“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!")

【讨论】:

我遇到的问题是,如果我的编辑器没有使用 main 方法来关注类,那么在不存在 scala 应用程序时运行。你知道为什么会这样吗? 维护它!我们需要有一个“对象”而不是“类”【参考方案2】:

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

【讨论】:

安装最新的 Scala IDE for Mac 时这对我有用【参考方案3】:

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

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

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

【讨论】:

源文件必须在“src/main/scala/”文件夹下,以便Eclipse运行应用程序【参考方案4】:

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

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

【讨论】:

我右键单击项目并在配置菜单中我只看到转换为 javascript 项目并转换为 java 插件项目。我只安装了 scala ide 是 scala ide 与 scala 插件不同。 不,不一样。您应该观看这个短视频以使用 Scala IDE for Eclipse:youtube.com/watch?v=PtkNg4mK4NY【参考方案5】:

从此链接下载Scala IDE

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

 package greeter

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

作为 Scala 应用程序运行

【讨论】:

您的对象必须从 App 扩展。然后您将能够作为 Scala 应用程序运行【参考方案6】:

如果是第一次在设置和创建项目后运行 Scala IDE for eclipse,那么您只需保存项目并重新启动 IDE。下次启动出现“run as Scala Application”,可以使用了。

【讨论】:

【参考方案7】:

我在运行扩展 Application 的 Scala 应用程序的 Scala IDE for Eclipse 时遇到问题,但使用适当的 main 方法运行对象,即 def main(args:Array[String]) /*...*/ 对我来说总是很好。

【讨论】:

【参考方案8】:

右击项目 --> 点击运行配置 --> 在运行配置窗口中选择“Scala Application”

【讨论】:

你还需要将你的类定义为Object。 选择“spark Application”后会发生什么?【参考方案9】:

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

【讨论】:

【参考方案10】:

除非您有充分的理由需要 Eclipse,否则我可以建议您尝试 IntelliJ 吗?

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

【讨论】:

我个人使用 Netbeans 开发耦合 Scala 和 Java 的项目。 Scala 集成在最新版本中并没有那么糟糕(我使用夜间构建),并且项目构建由 Maven 出色地处理。 “还不错”并不是赞美的高度...我对 IntelliJ 中的 Java-Scala 混合项目感到非常满意,包括例如跨语言进行重命名重构。当你准备好超越 Maven 时,它还支持 SBT,尽管这部分还需要成熟一点。【参考方案11】:

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

希望我的经验有所帮助。

【讨论】:

【参考方案12】:

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

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

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

【讨论】:

【参考方案13】:

我在使用 Eclipse Luna Scala IDE 时遇到了这个问题。以上解决方案均无法编译我的 Main.scala 文件。

package main.scala

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

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

    右键单击项目属性 Java 构建路径 检查是否缺少 Scala 库 点击“添加库...” 添加应随 Scala IDE 提供的所需 Scala 库。

然后,转到位于项目文件夹中某处的 Main.scala 文件,该文件包含您的 main 函数。如果您右键单击文件,“Scala 应用程序”应该会出现在“运行方式”下。

【讨论】:

【参考方案14】:

以下是我在 eclipse 上成功运行 scala(Ubuntu) 所采取的步骤: 1. 下载Scala IDE 2.安装后,创建一个maven项目。 3.右键项目,进入configure和“Add Scala Nature” 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>
    确保 src/main/scala 在构建路径上。 创建一个 scala 文件来测试您的项目。

希望对你有帮助!!!

【讨论】:

以上是关于在 Eclipse 中为 Scala 配置运行的主要内容,如果未能解决你的问题,请参考以下文章

aws平台中为ec2实例添加双网卡

如何在 Elastic Beanstalk 中为 Auto Scaling EC2 实例配置触发器?

在eclipse 中运行scala程序 报错如下:

如何在API网关中为反向代理配置AWS EC2实例

即使在运行配置中指定,Eclipse 也无法找到 adb

Eclipse怎么全局搜索替换