我是Scala的初学者。我在eclipse中安装了Scala IDE,现在我想运行我的应用程序。它从未显示“以Scala应用程序运行”,而是显示“作为Java应用程序运行”或“Java applet”
我打开“运行配置”并单击“Scala应用程序”,我的项目名称为“test”,第二列为“Class Main”。我需要填写什么?我填写了“Main.Scala”,但它说“找不到mainmain class main.scala”。
你能帮助我运行这个项目吗?
答案 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)
答案 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库。我执行了以下步骤:
然后,转到位于项目文件夹中某处的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>
希望这会有所帮助!