我有一个scala项目,在命令行中使用SBT时可以编译,运行和测试.但是,在intellij中构建项目时,似乎项目中的每个类都在事件日志中出现此错误,从而导致构建失败:
SendCommandToService is already defined as case class SendCommandToService
case class SendCommandToService(service: String, commandName: String, keys: Array[String], values: Array[String])
^
Run Code Online (Sandbox Code Playgroud) 这是否正确,这并不一定意味着流已被代码处理 - 无论是在使用中还是通过调用dispose.
流可能已在此代码之外关闭,但仍会发生此异常?
我正在尝试在intellij中运行基于sbt的Scala应用程序的测试.但我得到以下错误,我不知道如何解决:
Testing started at 21:07 ...
java.lang.IncompatibleClassChangeError: Found class scala.collection.mutable.ArrayOps, but interface was expected
at org.scalatest.tools.Runner$.checkArgsForValidity(Runner.scala:895)
at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:729)
at org.scalatest.tools.Runner$.run(Runner.scala:711)
at org.scalatest.tools.Runner.run(Runner.scala)
at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2(ScalaTestRunner.java:144)
at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Run Code Online (Sandbox Code Playgroud)
当我使用Junit runner属性装饰我的类时,它们工作正常(并且它实际上在视觉效果方面更好):
@RunWith(classOf[JUnitRunner])
Run Code Online (Sandbox Code Playgroud) 用下面的任务声明中project/Build.scala,对print当我输入的任务不承认print在SBT控制台.
lazy val print = task { println("print") }
Run Code Online (Sandbox Code Playgroud)
怎么了?
是我愚蠢 - 我没有将索引器道具传递到系统创建中。我会在这里留下答案,以防有人从中受益*
我正在创建一个单身人士并发送这样的消息:
val indexerProps = ClusterSingletonManager.props(had => Props(
classOf[SingleCoreIndexer], dataProvider, publisher, name), name, End, None)
val coreIndexer = system.actorOf(indexerProps, name)
//val coreIndexer = system.actorOf(Props(classOf[SingleCoreIndexer], dataProvider, publisher, name))
coreIndexer ! "start_indexing"
Run Code Online (Sandbox Code Playgroud)
注释掉的行显示了工作正常的非单例道具
当我运行应用程序时,我收到以下错误:
[WARN] [06/21/2013 11:55:32.443] [deadcoreindexerstest-akka.actor.default-dispatcher-5] [akka://deadcoreindexerstest/user/node1] unhandled event start_indexing in state Start
Run Code Online (Sandbox Code Playgroud)
所有其他功能都停止工作,这与暗示“coreIndexer”actor 未收到“start_indexing”消息的消息相关
更多代码:
class Indexer(systemCreator: SystemCreator, publisherProps: Props, dataProviderProps: Props, name: String) {
def start {
val system = systemCreator.create
val dataProvider = system.actorOf(dataProviderProps)
val publisher = system.actorOf(publisherProps)
val indexerProps = ClusterSingletonManager.props(
singletonProps = had …Run Code Online (Sandbox Code Playgroud) 我在这个文件夹中有这3个文件,它们都与Lucene创建的索引相关:
它们都用于什么,是否可以将它们中的任何一个转换为人类可读的格式,以便更多地了解lucene如何与其索引一起工作?
我正在看这个例子https://github.com/DarthFubuMVC/fubumvc/blob/master/src/FubuMVC.AspNetTesting/Http/can_read_response.cs,并想知道如何集成测试fubu mvc.
我想要做的是给它我的请求或输入模型,然后执行所有行为和处理程序,所以我只返回视图模型或重定向,即我不需要它来呈现视图.
建议好吗?
我有以下类创建一个actor系统并在代码中将配置作为字符串提供.但是,我得到的例外是netty无法在默认主机和端口上启动 - 当我向配置提供不同的值时
class RemoteActorSystemCreator extends ActorSystemCreator {
def create(name: String, hostName: String, port: String) = {
val string: Config = ConfigFactory.parseString(
s"""akka {
actor {
provider = "akka.remote.RemoteActorRefProvider"
}
remote {
enabled-transports = ["akka.remote.netty.tcp"]
netty.tcp {
hostname = "$hostName"
port = $port
}
}
}"""
)
ActorSystem.create(name, ConfigFactory.load(string))
}
}
org.jboss.netty.channel.ChannelException: Failed to bind to: /127.0.1.1:2552
at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:298)
at akka.remote.netty.NettyRemoteServer.start(Server.scala:51)
at akka.remote.netty.NettyRemoteTransport.start(NettyRemoteSupport.scala:181)
org.jboss.netty.channel.ChannelException: Failed to bind to: /127.0.1.1:2552
Run Code Online (Sandbox Code Playgroud)