gpt4 book ai didi

eclipse - Scala 项目不会在 Eclipse 中编译; "Could not find the main class."

转载 作者:行者123 更新时间:2023-12-03 10:58:05 30 4
gpt4 key购买 nike

我已经从/update-current 安装了 Eclipse 3.5.2 和今天的 Scala 插件(这是 Scala 2.8 final。)我可以编译和运行由实现 main() 的单个单例对象组成的 Scala 项目。

但是,如果项目包含更多类,我会收到“找不到主类”错误。

我尝试寻找解决方案,我发现:

Eclipse 正在正确查找 Main$ 类,而不是 Main 类
* 在调试配置下,我的主类被正确识别为 mypackage.Main
* 我的插件是最新的,推荐用于我的 Eclipse 版本
* 清理、重启等无济于事。

同一个项目将使用 scalac 进行编译。

感谢您提供有关如何解决此问题的任何想法。

编辑:MatthieuF 建议我应该发布代码。

此代码段产生错误。这不是最惯用的代码,但我以这种方式编写它来测试我的环境。我将它作为单个文件和单独的文件进行了尝试。它确实适用于 scalac。

import swing._

class HelloFrame extends Frame {
title = "First program"
contents = new Label("Hello, world!")
}

object Hello {
val frame = new HelloFrame
def main(args : Array[String]) : Unit = {
frame.visible = true
}
}

但是,如果我将 HelloFrame 的定义嵌套在 Hello 中,它就可以工作。这段代码完美运行:
import swing._

object Hello {

class HelloFrame extends Frame {
title = "First program"
contents = new Label("Hello, world!")
}

val frame = new HelloFrame

def main(args : Array[String]) : Unit = {
frame.visible = true
}
}

最佳答案

对我来说,问题是存在阻止编译的构建错误(请参阅问题选项卡);哎呀!您看到错误的原因是尽管编译步骤失败,但运行宏仍在继续,并尝试运行它期望在那里的类文件;它们不存在,因为存在阻止编译的构建错误,所以它说它找不到 Main(未编译)。

当构建可以成功完成时,问题就会消失,即错误被修复。

我想,从理论上讲,您的构建未成功完成可能有更复杂的原因未在问题中列出。

关于eclipse - Scala 项目不会在 Eclipse 中编译; "Could not find the main class.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3953468/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com