gpt4 book ai didi

scala - 多项目设置 - 未检测到主类

转载 作者:行者123 更新时间:2023-12-02 15:45:47 26 4
gpt4 key购买 nike

我有以下简单的项目设置

lazy val root = project.in(file(".")).aggregate(kalosrpc, kalosmodel)

lazy val kalosrpc = project.in(file("kalosrpc")).dependsOn(kalosmodel)

lazy val kalosmodel = project
.settings(
libraryDependencies ++= Seq(
dependencies.slf4j,
dependencies.slick,
dependencies.mysql
)
)

lazy val kalosgen = project
.settings(
libraryDependencies ++= Seq(
dependencies.slf4j,
dependencies.slick,
dependencies.slickCodeGen
)
)

具有以下目录结构

|__ api 
|__ kalosgen
|__ src
|__ scala
|__ Main.scala
|__ kalosmodel
|__ src
|__ scala
|__ Main.scala
|__ kalosrpc
|__ src
|__ scala
|__ Main.scala

我试图只运行 kalosgen 中的代码,但是当我打开 sbt 控制台并执行

project kalosgen
run

我明白了

[error] java.lang.RuntimeException: No main class detected.
[error] at scala.sys.package$.error(package.scala:26)
[error] (Compile / bgRun) No main class detected.

这是kalosgen/src/scala/Main.scala的内容

import slick.codegen.SourceCodeGenerator

object Main extends App {
val url = "hidden"
val user = "hidden"
val password = "hidden"
val dbDriver = "com.mysql.jdbc.Driver"
val profile = "slick.jdbc.MySQLProfile"
SourceCodeGenerator.main(
Array(
profile,
dbDriver,
url,
".",
"kalosmodel",
user,
password
)
)
}

据我所知,此设置是正确的,但它不会运行,并且谷歌搜索错误消息没有帮助。我尝试使用 class 而不是 object 并在 build.sbt 中指定主类,但没有任何效果。

最佳答案

路径中可能缺少

main 子目录。尝试将结构更改为

kalosgen/src/main/scala/Main.scala

而不是

kalosgen/src/scala/Main.scala

关于scala - 多项目设置 - 未检测到主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56809089/

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