【发布时间】: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 run、sbt clean)在 Ubuntu 18.04 cmd 行上构建和运行时没有遇到任何问题。
然后我将我的代码检查到一个 git 存储库并推送到一个远程存储库。该项目是一个简单的项目,仅包含大约 5 个 .scala 文件和一些标准 Play Framework 前端视图。除了我的 .scala 文件之外,我还确保推送 build.sbt,以及 project 目录下的 build.properties 和 plugins.sbt 文件。我还签入了sbt 和sbt.bat 脚本。
我将这个 git 项目克隆到一个新位置。
我运行代码,一如既往地使用sbt run。一些依赖关系被拉下。但不久我得到一个错误:java.lang.RuntimeException: No main class detected.
我尝试了几次,然后在运行sbt clean 之后再次尝试,只是为了更好地衡量。我注意到一个简短的 grep 显示没有明确的 main() 候选者,但这也适用于我在原始 - 而不是新克隆的 - 本地 git 存储库中的工作代码。我需要做什么才能确保我或其他人可以简单地从 github 签出这个或任何其他 Play 项目,并成功运行它而不会出现此错误?这应该是自动的。提前致谢。
【问题讨论】:
-
不妨删除这个问题。我把决定留给其他读者。
标签: scala playframework sbt