You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Leiningen运行依赖库自带的main函数

实现方法
  • 内置命令直接调用
    Lein原生支持通过-m参数指定要执行的主命名空间,无需额外安装插件。只要目标依赖已经正确添加到project.clj的依赖列表中,且对应命名空间定义了-main函数,直接执行以下格式的命令即可:
    lein run -m <目标主命名空间>
    
    以你提到的Clojure官方clojure.main为例,直接执行lein run -m clojure.main就能调用对应main函数,启动Clojure REPL,和官方clj CLI工具的默认启动效果一致。
  • 固定默认主类配置
    如果你需要频繁调用同一个依赖的main函数,可以直接在project.clj中添加:main配置项指定默认主命名空间:
    (defproject your-project "0.1.0-SNAPSHOT"
      :dependencies [[org.clojure/clojure "1.11.1"]]
      :main clojure.main)
    
    配置完成后,直接执行lein run就会默认调用你配置的主类的-main函数,不需要每次都加-m参数。
  • 扩展插件方案
    如果有更复杂的调用需求,比如需要传递特殊参数、执行单次函数调用不需要完整的启动流程,可以使用lein-exec插件,在project.clj的插件列表添加对应依赖后,即可实现更灵活的命名空间函数调用操作。

注意:调用前需确认目标命名空间在项目的classpath中可用,对应依赖没有缺失,且命名空间内确实定义了公开的-main函数,否则会出现类找不到或函数不存在的报错。

内容的提问来源于stack exchange,提问作者Anthony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:12:03