在Android上使用Cider

在Android上使用Cider,第1张

概述我试图在 Android上关注基于lein-droid的Clojure开发的 this tutorial.但是,本教程会跳过设置Cider支持的内容. 我首先添加一个默认的lein-droid项目 :user {:plugins [ [lein-droid "0.4.0-alpha4"] ]} 到我的〜/ .lein / profiles.clj,然后运行 $lein droid new andr 我试图在 Android上关注基于lein-droID的Clojure开发的 this tutorial.但是,本教程会跳过设置cider支持的内容.

我首先添加一个默认的lein-droID项目

:user {:plugins [ [lein-droID "0.4.0-Alpha4"] ]}

到我的〜/ .lein / profiles.clj,然后运行

$lein droID new androID-hello com.example.androID_hello

根据教程,我应该可以做一个lein droID doall然后连接cider到localhost:9999;然而,由于AndroID端缺少nREPL,它无法使用:

; cider 0.9.1 (Java 0,Clojure 1.7.0-beta3-r2,nREPL nil)WARNING: cider's version (0.9.1) does not match cider-nrepl's version (not installed)

那么,根据我发现的this other tutorial,我应该将cider-nrepl添加到我的AndroID依赖项中,方法是将它添加到〜/ .lein / profiles.clj:

:androID-user {:plugins [[cider/cider-nrepl "0.9.1"]]                :androID {:aot-exclude-ns ["cider.nrepl.mIDdleware.util.java.parser"                                           "cider.nrepl" "cider-nrepl.plugin"]}}}

所以我做了一个新的lein干净; lein droID doall确保所有东西都能很好地拾取;现在生成的程序在启动时在AndroID上崩溃了:

W/dalvikvm( 2508): Exception Ljava/lang/IllegalArgumentException; thrown while initializing Ldeps/cljfmt/v0v1v10/cljfmt/core__init;W/dalvikvm( 2508): Exception Ljava/lang/ExceptionInInitializerError; thrown while initializing Lcider/nrepl/mIDdleware/format__init;W/dalvikvm( 2508): threadID=10: thread exiting with uncaught exception (group=0xb5157180)E/AndroIDRuntime( 2508): FATAL EXCEPTION: ClojureLoadingThreadE/AndroIDRuntime( 2508): java.lang.ExceptionInInitializerErrorE/AndroIDRuntime( 2508):    at java.lang.class.classForname(Native Method)E/AndroIDRuntime( 2508):    at java.lang.class.forname(Class.java:217)E/AndroIDRuntime( 2508):    at clojure.lang.RT.classForname(RT.java:2201)E/AndroIDRuntime( 2508):    at clojure.lang.RT.classForname(RT.java:2210)E/AndroIDRuntime( 2508):    at clojure.lang.RT.loadClassForname(RT.java:2229)E/AndroIDRuntime( 2508):    at clojure.lang.RT.load(RT.java:461)E/AndroIDRuntime( 2508):    at clojure.lang.RT.load(RT.java:437)E/AndroIDRuntime( 2508):    at clojure.core$load$fn__5442.invoke(core.clj:5858)E/AndroIDRuntime( 2508):    at clojure.core$load.doInvoke(core.clj:5857)E/AndroIDRuntime( 2508):    at clojure.lang.RestFn.invoke(RestFn.java:408)E/AndroIDRuntime( 2508):    at clojure.core$load_one.invoke(core.clj:5663)E/AndroIDRuntime( 2508):    at clojure.core$load_lib$fn__5391.invoke(core.clj:5703)E/AndroIDRuntime( 2508):    at clojure.core$load_lib.doInvoke(core.clj:5702)E/AndroIDRuntime( 2508):    at clojure.lang.RestFn.applyTo(RestFn.java:142)E/AndroIDRuntime( 2508):    at clojure.core$apply.invoke(core.clj:630)E/AndroIDRuntime( 2508):    at clojure.core$load_libs.doInvoke(core.clj:5741)E/AndroIDRuntime( 2508):    at clojure.lang.RestFn.applyTo(RestFn.java:137)E/AndroIDRuntime( 2508):    at clojure.core$apply.invoke(core.clj:630)E/AndroIDRuntime( 2508):    at clojure.core$require.doInvoke(core.clj:5824)E/AndroIDRuntime( 2508):    at clojure.lang.RestFn.invoke(RestFn.java:408)E/AndroIDRuntime( 2508):    at neko.tools.repl$start_repl$fn__6556$fn__6557.invoke(repl.clj:77)E/AndroIDRuntime( 2508):    at clojure.core$map$fn__4547.invoke(core.clj:2616)E/AndroIDRuntime( 2508):    at clojure.lang.LazySeq.sval(LazySeq.java:40)E/AndroIDRuntime( 2508):    at clojure.lang.LazySeq.seq(LazySeq.java:49)E/AndroIDRuntime( 2508):    at clojure.lang.RT.seq(RT.java:534)E/AndroIDRuntime( 2508):    at clojure.core$seq__4122.invoke(core.clj:135)E/AndroIDRuntime( 2508):    at clojure.core$apply.invoke(core.clj:628)E/AndroIDRuntime( 2508):    at neko.tools.repl$start_repl$fn__6556.invoke(repl.clj:75)E/AndroIDRuntime( 2508):    at clojure.core$with_redefs_fn.invoke(core.clj:7185)E/AndroIDRuntime( 2508):    at neko.tools.repl$start_repl.doInvoke(repl.clj:72)E/AndroIDRuntime( 2508):    at clojure.lang.RestFn.applyTo(RestFn.java:139)E/AndroIDRuntime( 2508):    at clojure.core$apply.invoke(core.clj:630)E/AndroIDRuntime( 2508):    at neko.tools.repl$init.doInvoke(repl.clj:102)E/AndroIDRuntime( 2508):    at clojure.lang.RestFn.invoke(RestFn.java:397)E/AndroIDRuntime( 2508):    at clojure.lang.Var.invoke(Var.java:375)E/AndroIDRuntime( 2508):    at neko.App.loadClojure(App.java:40)E/AndroIDRuntime( 2508):    at neko.App.run(App.java:51)E/AndroIDRuntime( 2508):    at java.lang.Thread.run(Thread.java:856)E/AndroIDRuntime( 2508): Caused by: java.lang.ExceptionInInitializerErrorE/AndroIDRuntime( 2508):    at java.lang.class.classForname(Native Method)E/AndroIDRuntime( 2508):    at java.lang.class.forname(Class.java:217)E/AndroIDRuntime( 2508):    at clojure.lang.RT.classForname(RT.java:2201)E/AndroIDRuntime( 2508):    at clojure.lang.RT.classForname(RT.java:2210)E/AndroIDRuntime( 2508):    at clojure.lang.RT.loadClassForname(RT.java:2229)E/AndroIDRuntime( 2508):    at clojure.lang.RT.load(RT.java:461)E/AndroIDRuntime( 2508):    at clojure.lang.RT.load(RT.java:437)E/AndroIDRuntime( 2508):    at clojure.core$load$fn__5442.invoke(core.clj:5858)E/AndroIDRuntime( 2508):    at clojure.core$load.doInvoke(core.clj:5857)E/AndroIDRuntime( 2508):    at clojure.lang.RestFn.invoke(RestFn.java:408)E/AndroIDRuntime( 2508):    at clojure.core$load_one.invoke(core.clj:5663)E/AndroIDRuntime( 2508):    at clojure.core$load_lib$fn__5391.invoke(core.clj:5703)E/AndroIDRuntime( 2508):    at clojure.core$load_lib.doInvoke(core.clj:5702)E/AndroIDRuntime( 2508):    at clojure.lang.RestFn.applyTo(RestFn.java:142)E/AndroIDRuntime( 2508):    at clojure.core$apply.invoke(core.clj:630)E/AndroIDRuntime( 2508):    at clojure.core$load_libs.doInvoke(core.clj:5741)E/AndroIDRuntime( 2508):    at clojure.lang.RestFn.applyTo(RestFn.java:137)E/AndroIDRuntime( 2508):    at clojure.core$apply.invoke(core.clj:630)E/AndroIDRuntime( 2508):    at clojure.core$require.doInvoke(core.clj:5824)E/AndroIDRuntime( 2508):    at clojure.lang.RestFn.invoke(RestFn.java:703)E/AndroIDRuntime( 2508):    at cider.nrepl.mIDdleware.format$loading__5334__auto____6889.invoke(format.clj:1)E/AndroIDRuntime( 2508):    at cider.nrepl.mIDdleware.format__init.load(UnkNown Source)E/AndroIDRuntime( 2508):    at cider.nrepl.mIDdleware.format__init.<clinit>(UnkNown Source)E/AndroIDRuntime( 2508):    ... 38 moreE/AndroIDRuntime( 2508): Caused by: java.lang.IllegalArgumentException: No implementation of method: :make-reader of protocol: #'clojure.java.io/IOFactory found for class: nilE/AndroIDRuntime( 2508):    at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:554)E/AndroIDRuntime( 2508):    at clojure.java.io$fn__8970$G__8946__8977.invoke(io.clj:69)E/AndroIDRuntime( 2508):    at clojure.java.io$reader.doInvoke(io.clj:102)E/AndroIDRuntime( 2508):    at clojure.lang.RestFn.invoke(RestFn.java:410)E/AndroIDRuntime( 2508):    at clojure.lang.AFn.applyToHelper(AFn.java:154)E/AndroIDRuntime( 2508):    at clojure.lang.RestFn.applyTo(RestFn.java:132)E/AndroIDRuntime( 2508):    at clojure.core$apply.invoke(core.clj:630)E/AndroIDRuntime( 2508):    at clojure.core$slurp.doInvoke(core.clj:6645)E/AndroIDRuntime( 2508):    at clojure.lang.RestFn.invoke(RestFn.java:410)E/AndroIDRuntime( 2508):    at clojure.core$comp$fn__4489.invoke(core.clj:2432)E/AndroIDRuntime( 2508):    at clojure.core$comp$fn__4489.invoke(core.clj:2432)E/AndroIDRuntime( 2508):    at deps.cljfmt.v0v1v10.cljfmt.core__init.load(UnkNown Source)E/AndroIDRuntime( 2508):    at deps.cljfmt.v0v1v10.cljfmt.core__init.<clinit>(UnkNown Source)E/AndroIDRuntime( 2508):    ... 61 moreW/ActivityManager(  867):   Force finishing activity hu.erdi.gergo.clojure_androID_hello.deBUG/hu.erdi.gergo.clojure_androID_hello.SplashActivityW/WindowManager(  867): Failure taking screenshot for (180x300) to layer 21010D/dalvikvm(  867): GC_CONCURRENT freed 561K,13% free 11324K/12871K,paused 0ms+2msW/NetworkManagementSocketTagger(  867): setKernelCountSet(10041,0) Failed with errno -2
解决方法 在您按照上面引用的教程进行 *** 作时似乎犯了一个小错误.

这个:

:androID-user {:plugins [[cider/cider-nrepl "0.9.1"]]                :androID {:aot-exclude-ns ["cider.nrepl.mIDdleware.util.java.parser"                                           "cider.nrepl" "cider-nrepl.plugin"]}}}

应该:

:androID-user {:dependencIEs [[cider/cider-nrepl "0.9.1"]]               :androID {:aot-exclude-ns ["cider.nrepl.mIDdleware.util.java.parser"                                          "cider.nrepl" "cider-nrepl.plugin"]}}
总结

以上是内存溢出为你收集整理的在Android上使用Cider全部内容,希望文章能够帮你解决在Android上使用Cider所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1125682.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存