小编Tho*_*ood的帖子

Scala项目不会在Eclipse中编译; "无法找到主类."

我已经从/ update-current安装了Eclipse 3.5.2和今天的Scala插件(这是Scala 2.8 final.)我可以编译并运行由单个单例对象组成的Scala项目,该对象实现main().

但是,如果一个项目包含更多的类,我收到"找不到主类"错误.

我试图寻找解决方案,我发现:

Eclipse正在寻找Main $类,而不是
Debug Configurations下的Main类*,我的主类被正确识别为mypackage.Main
*我的插件是最新的,推荐用于我的Eclipse
*清理版本,重启等等.没有帮助.

同一个项目将使用scalac进行编译.

感谢您提供有关如何解决此问题的任何想法.

编辑:MatthieuF建议我应该发布代码.

此代码段会产生错误.它不是最惯用的代码,但我用它来编写测试环境的方法.我把它作为单个文件和单独的文件尝试.它与scalac合作.

import swing._

class HelloFrame extends Frame {
        title = "First program"
        contents = new Label("Hello, world!")
}

object Hello {
  val frame = new HelloFrame    
  def main(args : Array[String]) : Unit = {
        frame.visible = true
   }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我在Hello中嵌入HelloFrame的定义,它就可以了.这个片段完美运行:

import swing._

object Hello {

    class HelloFrame extends Frame {
        title = "First program"
        contents = new Label("Hello, world!")
    }

    val frame = new …
Run Code Online (Sandbox Code Playgroud)

eclipse scala eclipse-plugin scala-ide

24
推荐指数
2
解决办法
4万
查看次数

如何在任意数量的参数上进行模式匹配?

是否有一个OCaml等价于Haskell的模式匹配任意数量的参数?例如,我可以有类似的东西:

merge [] lst = lst
merge lst [] = lst
merge l1 @ (n : ns) l2 @ (m : ms) = 
  if n < m then n : merge ns l2 else m : merge l1 ms
Run Code Online (Sandbox Code Playgroud)

(这个例子来自使用Objective Caml开发应用程序:)

谢谢.

ocaml pattern-matching

10
推荐指数
1
解决办法
7085
查看次数

是否应在事务中读取多个Clojure引用以保持一致性?

这是一个理论问题,这是因为我希望更好地理解Clojure的并发性.

假设我正在写博客.假设每个boid是一个单独的绿色线程,它会改变向量中的位置或表示世界网格的refs.想想希基的蚂蚁殖民地.

现在,Clojure.org上的文档指出"所有Refs的读取都会看到'Ref world'的一致快照,作为交易的起点(它的'读取点')."

这是否意味着我只能通过在事务中读取我的refs向量(即在dosync上下文中?)来获取模拟的一致快照,例如绘制它.

谢谢!

concurrency clojure stm refs

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

ActiveMQ 永远不会删除 kahadb .log 文件;通过 JSP 界面没有可见的待处理消息;如何查出罪魁祸首?

我们在 CentOS 上运行 ActiveMQ 5.7.0。大约 50 个 Java 程序写入和使用队列,其中大约一半来自本地主机,其余分散在远程客户端,大多数每个进程有一个消费者,但有四个有 32 个。

几天前,ActiveMQ 停止从 data/kahadb 删除 .log 文件。如果重新启动,ActiveMQ 会删除 kahadb 中的所有内容,然后在操作期间不会删除任何其他内容。

通过 [host]:8161/admin/queues.jsp 的 Web 界面看不到待处理(即已排队但未出队)的消息。DLQ为空,删除不影响问题。(也从界面中收集到:所有连接都是活动的,没有一个是慢的,没有订阅者,没有网桥,没有调度程序。)

在http://activemq.apache.org/why-do-kahadb-log-files-remain-after-cleanup.html之后,我得到了以下内容:

| 追踪 | 最后更新:236:28401525,完整的GC候选集:[89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100 <[snip]> , 236 | org.apache.activemq.store.kahadb.MessageDatabase | org.apache.activemq.store.kahadb.MessageDatabase | ActiveMQ 日志检查点工作人员 2014-09-11 08:50:03,384 | 追踪 | 第一次 tx 后的 gc 候选者:89:10178611,[] | org.apache.activemq.store.kahadb.MessageDatabase | org.apache.activemq.store.kahadb.MessageDatabase | ActiveMQ 日志检查点工作人员 2014-09-11 08:50:03,384 | 追踪 | gc 候选人: [] | org.apache.activemq.store.kahadb.MessageDatabase | …

java apache activemq-classic

5
推荐指数
1
解决办法
9308
查看次数