【问题标题】:Scala Play (2.8) Project: after cloning from git, sbt run yields: java.lang.RuntimeException: No main class detectedScala Play (2.8) 项目:从 git 克隆后,sbt run 产生:java.lang.RuntimeException:未检测到主类
【发布时间】:2020-03-27 03:52:11
【问题描述】:

这个问题问起来有点尴尬,但多次搜索都没有得到明确的答案。我使用命令 sbt new playframework/play-scala-seed.g8 创建了一个 Scala Play 项目(Play 2.8.1;sbt 1.3.4;Scala 2.13.1),所有工作都按预期工作。我添加了一些 Scala 代码的类和对象,并且在使用 sbt 命令(例如sbt runsbt clean)在 Ubuntu 18.04 cmd 行上构建和运行时没有遇到任何问题。

然后我将我的代码检查到一个 git 存储库并推送到一个远程存储库。该项目是一个简单的项目,仅包含大约 5 个 .scala 文件和一些标准 Play Framework 前端视图。除了我的 .scala 文件之外,我还确保推送 build.sbt,以及 project 目录下的 build.properties 和 plugins.sbt 文件。我还签入了sbtsbt.bat 脚​​本。

我将这个 git 项目克隆到一个新位置。

我运行代码,一如既往地使用sbt run。一些依赖关系被拉下。但不久我得到一个错误:java.lang.RuntimeException: No main class detected.

我尝试了几次,然后在运行sbt clean 之后再次尝试,只是为了更好地衡量。我注意到一个简短的 grep 显示没有明确的 main() 候选者,但这也适用于我在原始 - 而不是新克隆的 - 本地 git 存储库中的工作代码。我需要做什么才能确保我或其他人可以简单地从 github 签出这个或任何其他 Play 项目,并成功运行它而不会出现此错误?这应该是自动的。提前致谢。

【问题讨论】:

  • 不妨删除这个问题。我把决定留给其他读者。

标签: scala playframework sbt


【解决方案1】:

哦,呸。尽管进行了检查,但似乎我拉下了一个空的 build.sbt 文件。我确保签入了正确的、非空的build.sbt 文件,我拉取了它,并且项目构建没有问题。非常遗憾。

【讨论】:

    猜你喜欢
    • 2018-02-21
    • 1970-01-01
    • 2014-01-13
    • 1970-01-01
    • 2019-09-24
    • 2012-03-15
    • 2015-08-04
    • 2012-12-06
    • 1970-01-01
    相关资源
    最近更新 更多