我参与了这个由大猩猩REPL支持的伟大项目(具体来说是https://bitbucket.org/probprog/anglican-examples/),并且希望在某些受限的情况下使用它。
是否有一种方法可以生成只能使用JVM启动的uberjar?
好吧,我知道如何为该项目创建uberjar,但是我可以从中启动Gorilla REPL吗?如果不是,我必须添加什么以及如何启动它?
已编辑注意Juraj的答案:
我添加了一个具有以下内容的开始文件src / gorillaproxy / gorillaproxy.clj:
(ns gorillaproxy.gorillaproxy
(:use [gorilla-repl.core :only [run-gorilla-server]])
(:gen-class))
(defn -main
[& args]
(run-gorilla-server {:port 8990}))
然后我将[gorilla-repl“ 0.4.0”]添加到依赖项列表中(位于project.clj中),并添加到行中
:main gorillaproxy.gorillaproxy
通过这种方式,uberjar启动了Gorilla REPL,当我将工作表(以及数据,资源,如果需要)放在同一目录中时,一切正常。
答案 0 :(得分:1)
Gorilla通常是通过lein-gorilla
插件运行的,因此它不是uberjar的一部分。
如果您确实想创建一个包含大猩猩repl依赖项的捆绑软件,则需要将此功能手动添加到您的项目中。
问题是您为什么要这样做。 您想将这些样本分发给其他人吗?在这种情况下,您仍然需要将所有这些工作表放在运行uberjar的当前目录中,因为那是how gorilla repl discovers worksheets。
您可以查看lein-gorilla source code,了解如何开始大猩猩复制。
然后,我将使用与您的项目相同的代码(创建新的src/core.clj
文件或其他内容)并将其在project.clj
中配置为:main
。
您还需要add gorilla-repl
as a dependency to your project.clj
但是请注意,您需要从英国国教工作表所在的目录(或该目录的父目录)中运行该uberjar。