【问题标题】:Why does Play report java.lang.NoClassDefFoundError for a class on Windows (while it works fine on Linux)?为什么 Play 在 Windows 上报告一个类的 java.lang.NoClassDefFoundError (而它在 Linux 上运行良好)?
【发布时间】:2014-11-07 03:16:30
【问题描述】:

我有一个 Play 框架项目。到目前为止,我一直只在 linux 上工作,一切都很好。现在我正在尝试在 Windows 上运行它。然而没有运气。 我总是得到例外:

[RuntimeException: java.lang.NoClassDefFoundError: models/Users (wrong name: models/users)]

model.Users 是我的模型案例类,model.Users 是我的表,model.users 是我的伴随对象,其中包含对表的操作,例如 savefind 等)。

我尝试过更改项目位置、清理、编译和其他操作...没有任何效果。

我正在使用:

  • sbt.version=0.13.5
  • playframework=2.3.4
  • slick=2.1.0
  • java 版本“1.7.0_67”

有什么想法吗?

【问题讨论】:

  • 即使我在将项目从 Linux 迁移到 Windows 时也面临同样的问题。充满错误。您是否尝试过根据您使用的 ide 重建项目,如“activator eclipse”或“activator idea”?

标签: windows scala playframework sbt slick


【解决方案1】:

看起来像是区分大小写的问题。你似乎有一节课model.users 和一节课model.Users。 Linux 文件系统通常区分大小写,而 Windows 文件系统则不。尝试重命名您的类,使它们的名称无论大小写都是唯一的。

【讨论】:

  • 如此愚蠢,如此简单,浪费了很多时间...... grr...... windows :) 谢谢。很遗憾,我不得不重命名我的类以使其在 Windows 上工作......
猜你喜欢
  • 1970-01-01
  • 2014-02-21
  • 2021-09-28
  • 1970-01-01
  • 2021-03-13
  • 2016-07-30
  • 1970-01-01
相关资源
最近更新 更多