簡體   English   中英

ritz-nrepl與lein不適用於osx

[英]ritz-nrepl with lein not working on osx

我想在Emacs中使用ritz-nrepl進行調試。 因為使用lein ritz-nrepl已經失敗, lein ritz-nrepl我還沒有進一步進行Emacs集成。

Exception in thread "main" com.sun.jdi.connect.VMStartException: 
   VM initialization failed for: ...

完整的堆棧跟蹤顯示在帖子的末尾。 我知道這個異常已經存在了一段時間,並且有可能的修復方法,但是這對我的情況沒有幫助:

否則,nrepl等。 在我的系統上運行正常。 我正在使用clojure 1.5.1

$> lein version
Leiningen 2.2.0 on Java 1.7.0_25 Java HotSpot(TM) 64-Bit Server VM

我的~/.lein/profiles.clj看起來像這樣:

{:user
  {:plugins [[lein-ritz "0.7.0"]]
   :dependencies [[nrepl-inspect "0.3.0"]
             [org.clojure/tools.trace "0.7.5"]
             [ritz/ritz-nrepl-middleware "0.7.0"]
             [ritz/ritz-debugger "0.7.0"]
             [clojure-complete "0.2.3"]]
   :repl-options {:nrepl-middleware
             [ritz.nrepl.middleware.javadoc/wrap-javadoc
              ritz.nrepl.middleware.simple-complete/wrap-simple-complete
              inspector.middleware/wrap-inspect]}}}

在lein項目中,我運行lein ritz-nrepl 但是,上述異常失敗。 我已經運行了lein ritz-nrepl -l trace但是沒有找到有用的輸出。 我該怎么做才能使它運行?

順便說一句。 我已經用ritz 0.7.1-SNAPSHOT測試了它,但是錯誤仍然存​​在。

我是否缺少明顯的東西? 任何幫助是極大的贊賞。

干杯!

完整的堆棧跟蹤:

Exception in thread "main" com.sun.jdi.connect.VMStartException: VM initialization failed for: /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/jre/bin/java -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Xdebug -Xrunjdwp:transport=dt_socket,address=London:58846,suspend=y -cp /private/tmp/test/test:/private/tmp/test/src:/private/tmp/test/dev-resources:/private/tmp/test/resources:/private/tmp/test/target/classes:/Users/me/.m2/repository/reply/reply/0.1.9/reply-0.1.9.jar:/Users/me/.m2/repository/org/thnetos/cd-client/0.3.6/cd-client-0.3.6.jar:/Users/me/.m2/repository/org/sonatype/aether/aether-connector-wagon/1.13.1/aether-connector-wagon-1.13.1.jar:/Users/me/.m2/repository/quoin/quoin/0.1.0/quoin-0.1.0.jar:/Users/me/.m2/repository/useful/useful/0.8.3-alpha8/useful-0.8.3-alpha8.jar:/Users/me/.m2/repository/org/clojure/java.classpath/0.2.0/java.classpath-0.2.0.jar:/Users/me/.m2/repository/clj-stacktrace/clj-stacktrace/0.2.4/clj-stacktrace-0.2.4.jar:/Users/me/.m2/repository/org/clojure/core.cache/0.6.2/core.cache-0.6.2.jar:/Users/me/.m2/repository/org/apache/maven/indexer/indexer-core/4.1.3/indexer-core-4.1.3.jar:/Users/me/.m2/repository/org/tcrawley/dynapath/0.2.3/dynapath-0.2.3.jar:/Users/me/.m2/repository/classlojure/classlojure/0.6.6/classlojure-0.6.6.jar:/Users/me/.m2/repository/ritz/ritz-nrepl-core/0.7.1-SNAPSHOT/ritz-nrepl-core-0.7.1-SNAPSHOT.jar:/Users/me/.m2/repository/org/clojure/tools.trace/0.7.5/tools.trace-0.7.5.jar:/Users/me/.m2/repository/org/clojure/data.xml/0.0.3/data.xml-0.0.3.jar:/Users/me/.m2/repository/org/apache/maven/wagon/wagon-http/2.2/wagon-http-2.2.jar:/Users/me/.m2/repository/org/sonatype/aether/aether-connector-file/1.13.1/aether-connector-file-1.13.1.jar:/Users/me/.m2/repository/stencil/stencil/0.3.1/stencil-0.3.1.jar:/Users/me/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar:/Users/me/.m2/repository/org/sonatype/sisu/sisu-inject-bean/2.2.3/sisu-inject-bean-2.2.3.jar:/Users/me/.m2/repository/org/apache/maven/indexer/indexer-artifact/4.1.3/indexer-artifact-4.1.3.jar:/Users/me/.m2/repository/org/apache/lucene/lucene-memory/3.6.1/lucene-memory-3.6.1.jar:/Users/me/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar:/Users/me/.m2/repository/jakarta-regexp/jakarta-regexp/1.4/jakarta-regexp-1.4.jar:/Users/me/.m2/repository/org/codehaus/plexus/plexus-utils/2.0.7/plexus-utils-2.0.7.jar:/Users/me/.m2/repository/org/apache/httpcomponents/httpclient/4.2.2/httpclient-4.2.2.jar:/Users/me/.m2/repository/slingshot/slingshot/0.8.0/slingshot-0.8.0.jar:/Users/me/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar:/Users/me/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.0.6/jackson-dataformat-smile-2.0.6.jar:/Users/me/.m2/repository/org/apache/httpcomponents/httpcore/4.2.2/httpcore-4.2.2.jar:/Users/me/.m2/repository/org/clojars/trptcolin/sjacket/0.1.0.2/sjacket-0.1.0.2.jar:/Users/me/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.0.6/jackson-core-2.0.6.jar:/Users/me/.m2/repository/org/apache/maven/wagon/wagon-http-shared4/2.2/wagon-http-shared4-2.2.jar:/Users/me/.m2/repository/org/apache/maven/maven-model-builder/3.0.4/maven-model-builder-3.0.4.jar:/Users/me/.m2/repository/org/clojure/tools.macro/0.1.1/tools.macro-0.1.1.jar:/Users/me/.m2/repository/cheshire/cheshire/4.0.3/cheshire-4.0.3.jar:/Users/me/.m2/repository/com/cemerick/pomegranate/0.0.13/pomegranate-0.0.13.jar:/Users/me/.m2/repository/jline/jline/2.8/jline-2.8.jar:/Users/me/.m2/repository/scout/scout/0.1.0/scout-0.1.0.jar:/Users/me/.m2/repository/clj-http/clj-http/0.5.8/clj-http-0.5.8.jar:/Users/me/.m2/repository/leiningen-core/leiningen-core/2.0.0/leiningen-core-2.0.0.jar:/Users/me/.m2/repository/org/apache/maven/maven-aether-provider/3.0.4/maven-aether-provider-3.0.4.jar:/Users/me/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4.jar:/Users/me/.m2/repository/org/sonatype/aether/aether-util/1.13.1/aether-util-1.13.1.jar:/Users/me/.m2/repository/clj-http-lite/clj-http-lite/0.2.0/clj-http-lite-0.2.0.jar:/Users/me/.m2/repository/nrepl-inspect/nrepl-inspect/0.3.0/nrepl-inspect-0.3.0.jar:/Users/me/.m2/repository/ritz/ritz-debugger/0.7.1-SNAPSHOT/ritz-debugger-0.7.1-SNAPSHOT.jar:/Users/me/.m2/repository/org/jsoup/jsoup/1.6.1/jsoup-1.6.1.jar:/Users/me/.m2/repository/org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar:/Users/me/.m2/repository/org/clojure/clojure/1.5.1/clojure-1.5.1.jar:/Users/me/.m2/repository/net/cgrand/regex/1.1.0/regex-1.1.0.jar:/Users/me/.m2/repository/org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4.jar:/Users/me/.m2/repository/org/sonatype/sisu/sisu-guice/3.0.3/sisu-guice-3.0.3-no_aop.jar:/Users/me/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6.jar:/Users/me/.m2/repository/trptcolin/versioneer/0.1.0/versioneer-0.1.0.jar:/Users/me/.m2/repository/org/apache/lucene/lucene-highlighter/3.6.1/lucene-highlighter-3.6.1.jar:/Users/me/.m2/repository/org/sonatype/aether/aether-impl/1.13.1/aether-impl-1.13.1.jar:/Users/me/.m2/repository/bultitude/bultitude/0.1.7/bultitude-0.1.7.jar:/Users/me/.m2/repository/robert/hooke/1.3.0/hooke-1.3.0.jar:/Users/me/.m2/repository/ritz/ritz-nrepl/0.7.1-SNAPSHOT/ritz-nrepl-0.7.1-SNAPSHOT.jar:/Users/me/.m2/repository/ritz/ritz-repl-utils/0.7.1-SNAPSHOT/ritz-repl-utils-0.7.1-SNAPSHOT.jar:/Users/me/.m2/repository/org/apache/maven/maven-repository-metadata/3.0.4/maven-repository-metadata-3.0.4.jar:/Users/me/.m2/repository/org/clojure/tools.nrepl/0.2.3/tools.nrepl-0.2.3.jar:/Users/me/.m2/repository/org/apache/lucene/lucene-queries/3.6.1/lucene-queries-3.6.1.jar:/Users/me/.m2/repository/com/cemerick/drawbridge/0.0.6/drawbridge-0.0.6.jar:/Users/me/.m2/repository/org/apache/maven/maven-model/3.0.4/maven-model-3.0.4.jar:/Users/me/.m2/repository/org/clojure/tools.namespace/0.2.3/tools.namespace-0.2.3.jar:/Users/me/.m2/repository/org/clojure/tools.cli/0.2.1/tools.cli-0.2.1.jar:/Users/me/.m2/repository/org/sonatype/aether/aether-spi/1.13.1/aether-spi-1.13.1.jar:/Users/me/.m2/repository/org/apache/httpcomponents/httpmime/4.2.2/httpmime-4.2.2.jar:/Users/me/.m2/repository/org/apache/lucene/lucene-core/3.6.1/lucene-core-3.6.1.jar:/Users/me/.m2/repository/leiningen/leiningen/2.0.0/leiningen-2.0.0.jar:/Users/me/.m2/repository/ritz/ritz-nrepl-middleware/0.7.1-SNAPSHOT/ritz-nrepl-middleware-0.7.1-SNAPSHOT.jar:/Users/me/.m2/repository/clojure-complete/clojure-complete/0.2.3/clojure-complete-0.2.3.jar:/Users/me/.m2/repository/org/sonatype/sisu/sisu-inject-plexus/2.2.3/sisu-inject-plexus-2.2.3.jar:/Users/me/.m2/repository/org/apache/maven/wagon/wagon-provider-api/2.2/wagon-provider-api-2.2.jar:/Users/me/.m2/repository/net/cgrand/parsley/0.9.1/parsley-0.9.1.jar:/Users/me/.m2/repository/org/clojure/java.classpath/0.2.0/java.classpath-0.2.0-sources.jar:/Users/me/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14-sources.jar:/Users/me/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5-sources.jar:/Users/me/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-sources.jar:/Users/me/.m2/repository/org/clojure/clojure/1.5.1/clojure-1.5.1-sources.jar:/Users/me/.m2/repository/org/codehaus/plexus/plexus-classworlds/2.4/plexus-classworlds-2.4-sources.jar:/Users/me/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6-sources.jar:/Users/me/.m2/repository/org/clojure/tools.nrepl/0.2.3/tools.nrepl-0.2.3-sources.jar:/Users/me/.m2/repository/org/clojure/tools.namespace/0.2.3/tools.namespace-0.2.3-sources.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/lib/tools.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/lib/sa-jdi.jar clojure.main -i /private/var/folders/07/mlnfr3g573g13w374qm17s_c0000gn/T/ritz-init3860568408072505479.clj
at com.sun.tools.jdi.AbstractLauncher$Helper.launchAndAccept(AbstractLauncher.java:192)
at com.sun.tools.jdi.AbstractLauncher.launch(AbstractLauncher.java:132)
at com.sun.tools.jdi.SunCommandLineLauncher.launch(SunCommandLineLauncher.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
at ritz.jpda.jdi$launch.invoke(jdi.clj:86)
at ritz.jpda.jdi_vm$launch_vm.invoke(jdi_vm.clj:176)
at ritz.jpda.debug$launch_vm.invoke(debug.clj:59)
at ritz.nrepl$start_jpda_server.invoke(nrepl.clj:259)
at user$eval6209.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6511)
at clojure.lang.Compiler.eval(Compiler.java:6500)
at clojure.lang.Compiler.eval(Compiler.java:6501)
at clojure.lang.Compiler.eval(Compiler.java:6477)
at clojure.core$eval.invoke(core.clj:2797)
at clojure.main$eval_opt.invoke(main.clj:297)
at clojure.main$initialize.invoke(main.clj:316)
at clojure.main$null_opt.invoke(main.clj:349)
at clojure.main$main.doInvoke(main.clj:427)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:419)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:532)
at clojure.main.main(main.java:37)

我知道這個問題很古老,但是我有一個可能的答案,因為我遇到了類似的問題,所以在2019年仍然有用。 問題是您的調試器正在嘗試通過JDI連接到要調試的進程,但是它失敗了。 讓我們看一下“ VM初始化失敗”消息之后的長長的命令行:

 /.../.../java ... -Xrunjdwp:transport=dt_socket,address=London:58846,suspend=y ... clojure.main ...

這是JDI用於啟動JVM的命令行,該JVM反過來運行clojure +要調試的程序。 -Xrunjdwp選項意味着啟動后,JVM將嘗試通過套接字連接到調試器。 確切地說, address=London:58846字符串是調試器進程正在偵聽,等待下級連接的網絡地址和端口。 某些版本的macOS(與Sierra(在我的情況下為Mojave)一起報告)的問題在於macOS無法將主機名(在您的情況下為London )解析為IP地址,從而阻止JVM連接到調試器。 就我而言,這是因為JDI選擇的主機名是筆記本電腦的本地網絡名 但是我不認為這是您的情況,因為上述命令行中的主機名是London ,並且根據Apple的說法,“本地網絡名是您的計算機名稱,並添加了.local ”:由於命令行中的主機名不是London.local ,顯然是在您的情況下,JDI試圖為您的計算機使用另一個非本地網絡名稱。

現在,對於該解決方案,假設您運行要調試程序的London機器與運行調試器的London機器相同(這是很常見的情況)。 您需要做的是“說服” macOS來注冊主機名並將其關聯到您計算機的IP地址。 只是為了記錄在案,在我的情況,在提出解決方法這篇文章是足夠了:我開始的共享服務之一,和MacOS注冊我的電腦的本地網絡名稱。 在您的情況下,我不太了解您的網絡設置,因此只能提出一個丑陋的建議:編輯/etc/hosts文件(您必須是sudo vimsudo nano ),然后將回送IP地址127.0.0.1映射到您的主機名通過修改行

127.0.0.1    localhost

127.0.0.1    localhost    London

我知道在2019年不得不修改/etc/hosts並不理想...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM