【问题标题】:Counterclockwise and :gen-class逆时针和 :gen-class
【发布时间】:2012-12-20 00:42:36
【问题描述】:

我正在使用逆时针 (0.10.1.STABLE001) 的 Eclipse (4.2.0)。我有一个 clojure 命名空间,我想为其生成一个类:

(ns a.b.c
  (:gen-class
   :name "a.b.c.Service"))

 (-method [] ...)

有一个缺陷,但从版本 0.59 here 开始标记为已修复。

有没有一种方法可以让我在 IDE 中触发或配置它而无需借助命令行编译?

有一个相关的问题,How to use a compiled Clojure class in Eclipse with Counterclockwise,但没有解决方案。

【问题讨论】:

    标签: eclipse clojure counterclockwise


    【解决方案1】:

    在逆时针 0.10.1(您正在使用的版本)中,有一种简单的方法可以做到这一点:您必须从项目的根节点上下文菜单(运行方式 > Clojure 应用程序)启动启动配置。

    • 从项目根目录启动时,构建器将被配置为每次保存文件时都对整个项目进行 AOT 编译(即使启动启动时,有时也证明它工作不可靠)。这意味着您的命名空间将被 AOT 编译,因此您的 gen-class。

    【讨论】:

      【解决方案2】:

      我假设您正在使用 CCW 和 leiningen,因此有一个 project.clj 文件:

      在 project.clj 中添加一个这样的:

      :aot [org.example.sample]
      

      如果你使用 CCW 创建项目,你可能没有 project.clj 文件

      【讨论】:

      • 不幸的是,我使用的是 m2e。我们已经考虑过使用 leiningen 替代的可能性,但还没有准备好放弃 maven 提供的分层功能。
      • leiningen 是 maven 的包装器,它生成一个 pom 文件,然后调用 maven。 (运行 lein pom)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-11
      相关资源
      最近更新 更多