0

我改变了一个包结构,这导致 /bin/ 中的相应文件夹被删除,所以现在我得到一个 ClassNotFoundException。

更具体地说,我有通常的 /src/ 和 /bin/,在 /src/ 里面我有 /main 和 /test,这大概反映在 /bin/ 中。我对文件进行了一些调整,最终得到了 /main/model/ 和 /test/model/。

我曾尝试手动创建相应的文件夹(在 /src/ 中镜像包),但这似乎没有帮助。我设法在其中一个包中编译了类,但没有在测试包中编译,因为它使用 ScalaTest* 并且我没有设法用 scalatest jar 文件编译这些类(或者类路径有问题)。

所以我的问题是:

  • 我如何在这个项目中解决这个问题?(我不想简单地创建一个新项目并将源文件复制过来)
  • 我猜我应该更多地了解构建系统,以便在未来对这些烦恼更有弹性?如果是这样,我应该阅读什么,特别是为了更好地进行故障排除并在未来在 IDE 的上下文中对构建进行更细粒度的控制(此时让构建独立于 IDE 对我来说不是优先事项)?

回答这些问题之一就足够了。

*所有源文件都是 .scala 文件,如果这可能很重要的话。

乌馆

我对项目进行了清理(项目->清理)。这似乎解决了问题:我能够从 Eclipse 中运行测试类。所有的二进制文件也都在那里。我做了一个新的包,main.controller,有一个类,当我尝试运行它时,它说它找不到类。我尝试再次运行测试,但这些测试也给了我一个 ClassNotFoundException。当我查看 /bin/ 时,发现所有文件夹和文件都不见了。我试图再次清理项目但无济于事。我不明白我是如何清理项目的,但现在无法修复它?

更新 2

为了测试这是否可以在 Java 项目中重现,我制作了一个包含两个包的 Java 项目;主要和测试。我在 main 中有一个主类,它使用了 test 中的一个类(因此包之间存在依赖关系)。它运行成功。然后我添加了包,这样我就有了 main.model 和 test.model 并将相应的文件移到那里。它也跑了。然后我尝试删除/bin/中的所有文件和文件夹,然后主类运行不起来。但是,如果我对项目进行了清理,那么它会成功清理它并且 Main 类能够运行。然后我为它创建了一个 Git 存储库,将它放在 /workspace/ 之外(在我的 git 文件夹中)并尝试在那里做同样的事情。Eclipse 每次都能成功清理项目。

所以我不明白为什么它不能清理我的 Scala 项目。

4

1 回答 1

0

我在“问题”选项卡(窗口-> 显示视图-> 问题)中有错误。现在我已经让它们消失了,我的 /bin/ 是正确的,我可以运行我的 Main 类和我的测试。这个问题有助于找出问题所在:

Scala 项目不会在 Eclipse 中编译;“无法找到主类。”

于 2013-05-26T08:40:41.567 回答