构建和编译的方法

sbt clean "project leads-web" "universal:packageZipTarball"

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 在 sbt 里

# 刷新命令
reload;update;clean;compile
# 切换到项目 a
project a
# 在 sbt 的项目 a 里
run "-Dotel.resource.attributes=serviceName=iouy"

# 如果使用了 coursier 来管理依赖的话,查看依赖
coursierDependencyTree

# 在普通的 shell 里
# 开启远程调试
sbt -jvm-debug 9999 run
# 传递 jvm 参数
sbt -J-javaagent:skywalking-agent.jar -jvm-debug 9999 run

加载调试器
sbt设置的位置

ORM

ebean

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
lazy val `model-base` = (project in file("./model/model-base"))
.enablePlugins(PlayEbean)
.settings(
name := "model-base",
modelSettings,
libraryDependencies ++= Seq(
"io.ebean" % "ebean" % "11.15.1",
"io.ebean" % "ebean-agent" % "11.11.1"
)
)
.dependsOn(`commons`)


val noDocuments = Seq(
sources in(Compile, doc) := Seq.empty,
publishArtifact in(Compile, packageDoc) := false
)

val modelSettings = Seq(
libraryDependencies += lombok,
playEbeanDebugLevel := ebeanLogLevel,
playEbeanVersion := "5.0.2",
testOptions in Test := Seq(Tests.Argument(TestFrameworks.JUnit, "-a", "-v")),
playEbeanModels in Compile := Seq("xxx.models.*"),
dependencyOverrides += "org.javassist" % "javassist" % "3.23.1-GA"
) ++ noDocuments

ExpressionList

表达式列表,类似其他 ORM 框架里的 example。
这种方法优于又臭又长的方法名查询的 Spring-XXX-Data 模式。