mvnrepository通常列出每个依赖项的"版本"和"更新".
系统崩溃后sbt-console,Intellij 2019.1无法启动:
抛出以下异常:
<set>:1: error: not found: value ideaPort
ideaPort in Global := 49516
Run Code Online (Sandbox Code Playgroud)
奇怪的是,另一个项目运行良好。
我.idea没有成功删除。
我无法在Intellij中刷新我的SBT项目.而且我不是唯一的一个.
这是sbt-console:
/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/bin/java -agentlib:jdwp=transport=dt_socket,address=localhost:51917,suspend=n,server=y -Xdebug -server -Xmx1028M -Dfile.encoding=UTF-8 -Didea.runid=2017.2 -Didea.managed=true -jar "/Users/pascal.mengelt/Library/Application Support/IntelliJIdea2018.1/Scala/launcher/sbt-launch.jar" idea-shell
Listening for transport dt_socket at address: 51917
[info] Loading settings from idea.sbt ...
[info] Loading global plugins from /Users/user/.sbt/1.0/plugins
[info] Loading settings from plugins.sbt ...
[info] Loading project definition from /Users/pascal.mengelt/GitHub/scala/scala-adapters-wizard/project
[info] Loading settings from build.sbt ...
[info] Set current project to wizardDemo (in build file:/Users/pascal.mengelt/GitHub/scala/scala-adapters-wizard/)
[error] Not a valid command: idea-shell (similar: shell, oldshell)
[error] Not a valid project ID: idea-shell
[error] Expected ':'
[error] …Run Code Online (Sandbox Code Playgroud) 如何逃避@ in play框架模板(视图和标签)?如果在play框架的任何视图中添加"@",它将由模板处理器自动处理.即使是电子邮件地址或推特帐户.
如果我有像下面这样的websocket:
def websocket: WebSocket = WebSocket.accept[String, String] { _ =>
ActorFlow.actorRef(out => LightWebSocketActor.props(out))
}
Run Code Online (Sandbox Code Playgroud)
供参考,这是LightWebSocketActor:
class LightWebSocketActor(out: ActorRef) extends Actor {
val topic: String = service.topic
override def receive: Receive = {
case message: String =>
play.Logger.debug(s"Message: $message")
PublishService.publish("true")
out ! message
}
}
object LightWebSocketActor {
var list: ListBuffer[ActorRef] = ListBuffer.empty[ActorRef]
def props(out: ActorRef): Props = {
list += out
Props(new LightSocketActor(out))
}
def sendMessage(message: String): Unit = {
list.foreach(_ ! message)
}
}
Run Code Online (Sandbox Code Playgroud)
这是使用akkawebsocket方法. …
unit-testing specifications scala playframework playframework-2.5
我想要enumDescr为任何 Scala 3 枚举提供一个简单的函数。
例子:
@description(enumDescr(InvoiceCategory))
enum InvoiceCategory:
case `Travel Expenses`
case Misc
case `Software License Costs`
Run Code Online (Sandbox Code Playgroud)
在Scala 2中这很简单 ( Enumeration):
def enumDescr(enum: Enumeration): String =
s"$enum: ${enum.values.mkString(", ")}"
Run Code Online (Sandbox Code Playgroud)
但是Scala 3中是如何完成的:
def enumDescr(enumeration: ??) = ...
Run Code Online (Sandbox Code Playgroud) 关注此博客:https : //medium.com/blogging-guide/how-to-insert-a-code-block-or-inline-code-into-a-medium-article-7b697bd12e0a
使用 Back Tics (`) 添加内联代码应该很简单。
但是它对我不起作用 - 它只将背部抽动显示为字符:
有什么我想念的吗?
我用过滤器拆分了单元测试和集成测试:
lazy val FunTest = config("it") extend Test
def funTestFilter(name: String): Boolean = name endsWith "Spec"
def unitTestFilter(name: String): Boolean = name endsWith "Test"
...
testOptions in Test := Seq(Tests.Filter(unitTestFilter)),
testOptions in FunTest := Seq(Tests.Filter(funTestFilter)),
...
Run Code Online (Sandbox Code Playgroud)
所以我可以做这样的事情:
sbt clean coverage test dockerComposeUp it:test dockerComposeStop coverageReport
可悲的是,这杀死了我所有的险种,只有生成BuildInfo的险种了。
仅使用sbt clean coverage test coverageReport或sbt clean coverage it:test coverageReport按预期工作。
整个项目可以在这里找到:https : //github.com/pme123/play-binding-form
覆盖版本: 1.5.1
使用Play时,等待服务器重新启动会花费很多时间。我在日志中看到的一件事是,关闭和启动HikaryPool会花费很多时间(> 40秒)。
这是日志:
2019-10-31 09:11:47,327 [info] application - Shutting down connection pool.
2019-10-31 09:11:47,328 [info] c.z.h.HikariDataSource - HikariPool-58 - Shutdown initiated...
2019-10-31 09:11:53,629 [info] c.z.h.HikariDataSource - HikariPool-58 - Shutdown completed.
2019-10-31 09:11:53,629 [info] application - Shutting down connection pool.
2019-10-31 09:11:53,629 [info] c.z.h.HikariDataSource - HikariPool-59 - Shutdown initiated...
2019-10-31 09:11:53,636 [info] c.z.h.HikariDataSource - HikariPool-59 - Shutdown completed.
2019-10-31 09:11:53,636 [info] application - Shutting down connection pool.
2019-10-31 09:11:53,636 [info] c.z.h.HikariDataSource - HikariPool-60 - Shutdown initiated...
2019-10-31 09:11:53,640 [info] …Run Code Online (Sandbox Code Playgroud) 我经常想记录或打印一些东西而不改变它。
它看起来像这样:
val result = myResult // this could be an Option or a Future
.map{r =>
info(s"the result is $r")
r
}
Run Code Online (Sandbox Code Playgroud)
这三行总是相同的。
在 for 理解中,这可以做得更好一些。
但我正在寻找第一个声明性版本的解决方案。它应该看起来像:
val result = myResult
.log(info(s"the result is ${_}"))
Run Code Online (Sandbox Code Playgroud)
这条单线可以放在链中可能有地图的每个位置,例如:
val result = myResult
.log(info(s"1. ${_}"))
.filter(_ > 1)
.log(info(s"2. ${_}"))
...
Run Code Online (Sandbox Code Playgroud)
如何才能实现这一目标?如果可能的话,没有函数库。