小编pme*_*pme的帖子

Maven依赖项 - 版本与更新

mvnrepository通常列出每个依赖项的"版本"和"更新".

  1. 如果我发布自己的包,我该如何指定"更新"版本
  2. Maven在解决传递依赖性时使用了哪种依赖性?因此,如果我的包依赖于包A,它取决于包B的 - version = 1.0和updates = 1.1.我会得到哪个版本的B?

maven maven-dependency

27
推荐指数
1
解决办法
6014
查看次数

Intellij的SBT控制台中的异常:找不到:全局中的value ideaPort ideaPort:= 49516

系统崩溃后sbt-consoleIntellij 2019.1无法启动:

抛出以下异常:

<set>:1: error: not found: value ideaPort
ideaPort in Global := 49516
Run Code Online (Sandbox Code Playgroud)

奇怪的是,另一个项目运行良好。

.idea没有成功删除。

scala intellij-idea sbt

23
推荐指数
3
解决办法
3959
查看次数

不是一个有效的命令:idea-shell(类似:shell,oldshell)

我无法在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)

intellij-idea sbt

18
推荐指数
1
解决办法
3531
查看次数

如何在播放框架模板中逃避"@"?

如何逃避@ in play框架模板(视图和标签)?如果在play框架的任何视图中添加"@",它将由模板处理器自动处理.即使是电子邮件地址或推特帐户.

playframework playframework-2.0 twirl

14
推荐指数
1
解决办法
2461
查看次数

如何测试Scala Play Framework websocket?

如果我有像下面这样的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

12
推荐指数
1
解决办法
878
查看次数

如何为 Scala 3 枚举创建通用方法

我想要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)

enums scala scala-3

9
推荐指数
2
解决办法
1637
查看次数

在 Medium.com 中插入带有 Back Tics 的内联代码不起作用

关注此博客:https : //medium.com/blogging-guide/how-to-insert-a-code-block-or-inline-code-into-a-medium-article-7b697bd12e0a

使用 Back Tics (`) 添加内联代码应该很简单。

但是它对我不起作用 - 它只将背部抽动显示为字符:

在此处输入图片说明

有什么我想念的吗?

medium.com-publishing-api

8
推荐指数
2
解决办法
351
查看次数

覆盖率:结合测试范围和测试范围

我用过滤器拆分了单元测试和集成测试:

  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 coverageReportsbt clean coverage it:test coverageReport按预期工作。

整个项目可以在这里找到:https : //github.com/pme123/play-binding-form

覆盖版本: 1.5.1

scala code-coverage sbt scoverage

7
推荐指数
2
解决办法
353
查看次数

播放:重新启动代码更改需要很长时间才能关闭并启动Hikary Pool

使用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)

scala playframework hikaricp

7
推荐指数
1
解决办法
129
查看次数

如何在 Scala 中进行 Monadic 日志记录

我经常想记录或打印一些东西而不改变它。

它看起来像这样:

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)

如何才能实现这一目标?如果可能的话,没有函数库。

monads functional-programming scala

6
推荐指数
1
解决办法
1092
查看次数