cursive-ide / cursive

Cursive: The IDE for beautiful Clojure code
575 stars 7 forks source link

Unable to start a local REPL with the created configuration #369

Open jmgimeno opened 10 years ago

jmgimeno commented 10 years ago

I create a REPL configuration by right clicking on project.clj

(defproject regexps "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.5.1"]]
  :main regexps.core)

And I get the following error:

Exception in thread "main" java.io.FileNotFoundException: Could not locate cljsbuild/compiler__init.class or cljsbuild/compiler.clj on classpath: 

which has no sense, because it is no a clojurescript project.

lein repl works perfecty on the command line.

My configuration for leiningen is the brew installed one and its path is:

/usr/local/Cellar/leiningen/2.3.4/bin/lein

with neither leiningen home nor leiningen jar overriden.

Starting nREPL server...
/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/bin/java -Dclojure.compile.path=/Users/jmgimeno/Dropbox/Developer/owned/regexps/target/classes -Dregexps.version=0.1.0-SNAPSHOT -Dfile.encoding=UTF-8 -Dclojure.debug=false -Didea.launcher.port=7533 "-Didea.launcher.bin.path=/Applications/IntelliJ IDEA 13.app/bin" -classpath "/Users/jmgimeno/Dropbox/Developer/owned/regexps/test:/Users/jmgimeno/Dropbox/Developer/owned/regexps/src:/Users/jmgimeno/Dropbox/Developer/owned/regexps/dev-resources:/Users/jmgimeno/Dropbox/Developer/owned/regexps/resources:/Users/jmgimeno/Dropbox/Developer/owned/regexps/target/classes:/Users/jmgimeno/.m2/repository/clojure-complete/clojure-complete/0.2.3/clojure-complete-0.2.3.jar:/Users/jmgimeno/.m2/repository/org/clojure/tools.nrepl/0.2.3/tools.nrepl-0.2.3.jar:/Users/jmgimeno/.m2/repository/org/clojure/clojure/1.5.1/clojure-1.5.1.jar:/Applications/IntelliJ IDEA 13.app/lib/idea_rt.jar" com.intellij.rt.execution.application.AppMain clojure.main -i /private/var/folders/xp/5sxgh_ln64z9lqrhbb5ncl740000gn/T/form-init2384622675151845250.clj
Exception in thread "main" java.io.FileNotFoundException: Could not locate cljsbuild/compiler__init.class or cljsbuild/compiler.clj on classpath: 
    at clojure.lang.RT.load(RT.java:443)
    at clojure.lang.RT.load(RT.java:411)
    at clojure.core$load$fn__5018.invoke(core.clj:5530)
    at clojure.core$load.doInvoke(core.clj:5529)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:5336)
    at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
    at clojure.core$load_lib.doInvoke(core.clj:5374)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:619)
    at clojure.core$load_libs.doInvoke(core.clj:5413)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:619)
    at clojure.core$require.doInvoke(core.clj:5496)
    at clojure.lang.RestFn.invoke(RestFn.java:436)
    at user$eval7.invoke(form-init2384622675151845250.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:6619)
    at clojure.lang.Compiler.eval(Compiler.java:6608)
    at clojure.lang.Compiler.load(Compiler.java:7064)
    at clojure.lang.Compiler.loadFile(Compiler.java:7020)
    at clojure.main$load_script.invoke(main.clj:294)
    at clojure.main$init_opt.invoke(main.clj:299)
    at clojure.main$initialize.invoke(main.clj:327)
    at clojure.main$null_opt.invoke(main.clj:362)
    at clojure.main$main.doInvoke(main.clj:440)
    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)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

Process finished with exit code 1
No nREPL ack received
cursive-ide commented 10 years ago

Could you see if the file /private/var/folders/xp/5sxgh_ln64z9lqrhbb5ncl740000gn/T/form-init2384622675151845250.clj still exists, and if so paste its content here, or mail it to me at cursive@cursiveclojure.com?

cursive-ide commented 10 years ago

BTW if you're getting a CLJS error and your project has no CLJS in it anywhere, the only thing I can think of is that you have CLJS stuff in a user profile somewhere that's injected into all your projects. Could that be the case?

jmgimeno commented 10 years ago

It seems it was something in the .lein profile which caused the error.

But, in projects with clojurescript and profiles it fails too.

Thanks.

jmgimeno commented 10 years ago

I've tested on a project that requires cljsbuild and it fails to open a local repl with the same message.

cursive-ide commented 10 years ago

Can you give me an example of a project.clj that provokes this problem?

jmgimeno commented 10 years ago

project.clj

(defproject om-tut "0.0.1-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License - v 1.0"
            :url "http://www.eclipse.org/legal/epl-v10.html"
            :distribution :repo}

  :min-lein-version "2.3.4"

  :source-paths ["src/clj" "src/cljs"]

  :dependencies [[org.clojure/clojure "1.5.1"]
                 [org.clojure/clojurescript "0.0-2156"]
                 [org.clojure/core.async "0.1.267.0-0d7780-alpha"]
                 [om "0.4.1"]
                 [com.facebook/react "0.8.0.1"]]

  :plugins [[lein-cljsbuild "1.0.2"]]

  :hooks [leiningen.cljsbuild]

  :cljsbuild
  {:builds {:om-tut
            {:source-paths ["src/cljs"]
             :compiler
             {:output-to "dev-resources/public/js/om_tut.js"
              :optimizations :advanced
              :pretty-print false}}}})

profiles.clj

{:shared {:clean-targets ["out" :target-path]}

 :tdd [:shared 
       {:cljsbuild
        {:builds {:om-tut
                  {:compiler
                   {:optimizations :whitespace
                    :pretty-print true}}}}}]

 :dev [:shared
       {:resources-paths ["dev-resources"]
        :source-paths ["dev-resources/tools/http" "dev-resources/tools/repl"]
        :dependencies [[ring "1.2.1"]
                       [compojure "1.1.6"]
                       [enlive "1.1.5"]]
        :plugins [[com.cemerick/austin "0.1.3"]]
        :cljsbuild
        {:builds {:om-tut
                  {:source-paths ["dev-resources/tools/repl"]
                   :compiler
                   {:optimizations :whitespace
                    :pretty-print true}}}}

        :injections [(require '[ring.server :as http :refer [run]]
                              'cemerick.austin.repls)
                     (defn browser-repl-env []
                       (reset! cemerick.austin.repls/browser-repl-env
                                (cemerick.austin/repl-env)))
                     (defn browser-repl []
                       (cemerick.austin.repls/cljs-repl
                         (browser-repl-env)))]}]}

and the repl error (a local repl created by right clicking on project.clj and to run with leiningen)

Starting nREPL server...
/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/bin/java -Dclojure.compile.path=/Users/jmgimeno/Dropbox/Developer/owned/om-tut/target/classes -Dom-tut.version=0.0.1-SNAPSHOT -Dfile.encoding=UTF-8 -Dclojure.debug=false -Didea.launcher.port=7533 "-Didea.launcher.bin.path=/Applications/IntelliJ IDEA 13.app/bin" -classpath "/Users/jmgimeno/Dropbox/Developer/owned/om-tut/test:/Users/jmgimeno/Dropbox/Developer/owned/om-tut/dev-resources/tools/http:/Users/jmgimeno/Dropbox/Developer/owned/om-tut/dev-resources/tools/repl:/Users/jmgimeno/Dropbox/Developer/owned/om-tut/src/clj:/Users/jmgimeno/Dropbox/Developer/owned/om-tut/src/cljs:/Users/jmgimeno/Dropbox/Developer/owned/om-tut/dev-resources:/Users/jmgimeno/Dropbox/Developer/owned/om-tut/resources:/Users/jmgimeno/Dropbox/Developer/owned/om-tut/target/classes:/Users/jmgimeno/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar:/Users/jmgimeno/.m2/repository/org/clojure/java.classpath/0.2.0/java.classpath-0.2.0.jar:/Users/jmgimeno/.m2/repository/org/eclipse/jetty/jetty-io/7.6.8.v20121106/jetty-io-7.6.8.v20121106.jar:/Users/jmgimeno/.m2/repository/args4j/args4j/2.0.16/args4j-2.0.16.jar:/Users/jmgimeno/.m2/repository/clj-stacktrace/clj-stacktrace/0.2.5/clj-stacktrace-0.2.5.jar:/Users/jmgimeno/.m2/repository/ns-tracker/ns-tracker/0.2.1/ns-tracker-0.2.1.jar:/Users/jmgimeno/.m2/repository/org/eclipse/jetty/orbit/javax.servlet/2.5.0.v201103041518/javax.servlet-2.5.0.v201103041518.jar:/Users/jmgimeno/.m2/repository/ring/ring/1.2.1/ring-1.2.1.jar:/Users/jmgimeno/.m2/repository/org/eclipse/jetty/jetty-continuation/7.6.8.v20121106/jetty-continuation-7.6.8.v20121106.jar:/Users/jmgimeno/.m2/repository/ring/ring-codec/1.0.0/ring-codec-1.0.0.jar:/Users/jmgimeno/.m2/repository/org/clojure/data.json/0.2.3/data.json-0.2.3.jar:/Users/jmgimeno/.m2/repository/clout/clout/1.1.0/clout-1.1.0.jar:/Users/jmgimeno/.m2/repository/org/clojure/core.incubator/0.1.0/core.incubator-0.1.0.jar:/Users/jmgimeno/.m2/repository/ring/ring-devel/1.2.1/ring-devel-1.2.1.jar:/Users/jmgimeno/.m2/repository/org/clojure/tools.reader/0.8.3/tools.reader-0.8.3.jar:/Users/jmgimeno/.m2/repository/org/clojure/clojurescript/0.0-2156/clojurescript-0.0-2156.jar:/Users/jmgimeno/.m2/repository/com/google/protobuf/protobuf-java/2.4.1/protobuf-java-2.4.1.jar:/Users/jmgimeno/.m2/repository/com/facebook/react/0.8.0.1/react-0.8.0.1.jar:/Users/jmgimeno/.m2/repository/om/om/0.4.1/om-0.4.1.jar:/Users/jmgimeno/.m2/repository/ring/ring-core/1.2.1/ring-core-1.2.1.jar:/Users/jmgimeno/.m2/repository/org/clojure/tools.macro/0.1.0/tools.macro-0.1.0.jar:/Users/jmgimeno/.m2/repository/com/cemerick/piggieback/0.1.2/piggieback-0.1.2.jar:/Users/jmgimeno/.m2/repository/org/clojure/core.async/0.1.267.0-0d7780-alpha/core.async-0.1.267.0-0d7780-alpha.jar:/Users/jmgimeno/.m2/repository/org/clojure/google-closure-library-third-party/0.0-20130212-95c19e7f0f5f/google-closure-library-third-party-0.0-20130212-95c19e7f0f5f.jar:/Users/jmgimeno/.m2/repository/org/clojure/google-closure-library/0.0-20130212-95c19e7f0f5f/google-closure-library-0.0-20130212-95c19e7f0f5f.jar:/Users/jmgimeno/.m2/repository/ring/ring-jetty-adapter/1.2.1/ring-jetty-adapter-1.2.1.jar:/Users/jmgimeno/.m2/repository/clj-time/clj-time/0.4.4/clj-time-0.4.4.jar:/Users/jmgimeno/.m2/repository/org/clojure/tools.nrepl/0.2.3/tools.nrepl-0.2.3.jar:/Users/jmgimeno/.m2/repository/enlive/enlive/1.1.5/enlive-1.1.5.jar:/Users/jmgimeno/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4.jar:/Users/jmgimeno/.m2/repository/com/cemerick/austin/0.1.3/austin-0.1.3.jar:/Users/jmgimeno/.m2/repository/org/ccil/cowan/tagsoup/tagsoup/1.2.1/tagsoup-1.2.1.jar:/Users/jmgimeno/.m2/repository/org/clojure/clojure/1.5.1/clojure-1.5.1.jar:/Users/jmgimeno/.m2/repository/org/mozilla/rhino/1.7R4/rhino-1.7R4.jar:/Users/jmgimeno/.m2/repository/hiccup/hiccup/1.0.3/hiccup-1.0.3.jar:/Users/jmgimeno/.m2/repository/clojure-complete/clojure-complete/0.2.3/clojure-complete-0.2.3.jar:/Users/jmgimeno/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6.jar:/Users/jmgimeno/.m2/repository/org/jsoup/jsoup/1.7.2/jsoup-1.7.2.jar:/Users/jmgimeno/.m2/repository/joda-time/joda-time/2.1/joda-time-2.1.jar:/Users/jmgimeno/.m2/repository/compojure/compojure/1.1.6/compojure-1.1.6.jar:/Users/jmgimeno/.m2/repository/org/eclipse/jetty/jetty-http/7.6.8.v20121106/jetty-http-7.6.8.v20121106.jar:/Users/jmgimeno/.m2/repository/org/clojure/tools.namespace/0.1.3/tools.namespace-0.1.3.jar:/Users/jmgimeno/.m2/repository/commons-fileupload/commons-fileupload/1.3/commons-fileupload-1.3.jar:/Users/jmgimeno/.m2/repository/org/eclipse/jetty/jetty-util/7.6.8.v20121106/jetty-util-7.6.8.v20121106.jar:/Users/jmgimeno/.m2/repository/org/json/json/20090211/json-20090211.jar:/Users/jmgimeno/.m2/repository/ring/ring-servlet/1.2.1/ring-servlet-1.2.1.jar:/Users/jmgimeno/.m2/repository/com/google/javascript/closure-compiler/v20131014/closure-compiler-v20131014.jar:/Users/jmgimeno/.m2/repository/com/google/guava/guava/15.0/guava-15.0.jar:/Users/jmgimeno/.m2/repository/org/eclipse/jetty/jetty-server/7.6.8.v20121106/jetty-server-7.6.8.v20121106.jar:/Applications/IntelliJ IDEA 13.app/lib/idea_rt.jar" com.intellij.rt.execution.application.AppMain clojure.main -i /private/var/folders/xp/5sxgh_ln64z9lqrhbb5ncl740000gn/T/form-init2991208912110418539.clj
Exception in thread "main" java.io.FileNotFoundException: Could not locate cljsbuild/compiler__init.class or cljsbuild/compiler.clj on classpath: 
    at clojure.lang.RT.load(RT.java:443)
    at clojure.lang.RT.load(RT.java:411)
    at clojure.core$load$fn__5018.invoke(core.clj:5530)
    at clojure.core$load.doInvoke(core.clj:5529)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:5336)
    at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
    at clojure.core$load_lib.doInvoke(core.clj:5374)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:619)
    at clojure.core$load_libs.doInvoke(core.clj:5413)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:619)
    at clojure.core$require.doInvoke(core.clj:5496)
    at clojure.lang.RestFn.invoke(RestFn.java:436)
    at user$eval7.invoke(form-init2991208912110418539.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:6619)
    at clojure.lang.Compiler.eval(Compiler.java:6608)
    at clojure.lang.Compiler.load(Compiler.java:7064)
    at clojure.lang.Compiler.loadFile(Compiler.java:7020)
    at clojure.main$load_script.invoke(main.clj:294)
    at clojure.main$init_opt.invoke(main.clj:299)
    at clojure.main$initialize.invoke(main.clj:327)
    at clojure.main$null_opt.invoke(main.clj:362)
    at clojure.main$main.doInvoke(main.clj:440)
    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)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

Process finished with exit code 1
No nREPL ack received

And, as you mentioned in other message, I've tried to access /private/var/folders/xp/5sxgh_ln64z9lqrhbb5ncl740000gn/T/form-init2991208912110418539.clj

but it does not exist.

cursive-ide commented 10 years ago

BTW one thing you can do to work around this problem until I can look at it is to start your repl on the command line with lein repl :headless, and then connect to it from Cursive using a remote configuration. Cursive can pick the port up from Leiningen automatically. Sorry, I know it's not ideal but at least you should be able to continue working.

cursive-ide commented 10 years ago

So I created a project with lein new om-tut and copied your project.clj and profiles.clj to it. I can reproduce your error in Cursive, but lein repl doesn't work for me on the command line either - I get basically the same stacktrace but with ring instead:

Exception in thread "main" java.io.FileNotFoundException: Could not locate ring/server__init.class or ring/server.clj on classpath:

Can you confirm that lein repl works for you?

jmgimeno commented 10 years ago

Yes. It is what I've been doing. I use the terminal plugin and two remore repls from cursive: one for the server part of the app, and another for the browser part.

Juan Manuel

2014-05-24 11:18 GMT+02:00 cursiveclojure notifications@github.com:

BTW one thing you can do to work around this problem until I can look at it is to start your repl on the command line with lein repl :headless, and then connect to it from Cursive using a remote configuration. Cursive can pick the port up from Leiningen automatically. Sorry, I know it's not ideal but at least you should be able to continue working.

— Reply to this email directly or view it on GitHubhttps://github.com/cursiveclojure/cursive/issues/369#issuecomment-44082140 .

jmgimeno commented 10 years ago

The lein replform the command line has no problems:

Angelina >: ls
LICENSE       dev-resources om_tut.iml    profiles.clj  src
README.md     doc           out           project.clj   target
Angelina >: lein repl
Compiling ClojureScript.
nREPL server started on port 56892 on host 127.0.0.1
REPL-y 0.3.0
Clojure 1.5.1
    Docs: (doc function-name-here)
          (find-doc "part-of-name-here")
  Source: (source function-name-here)
 Javadoc: (javadoc java-object-or-class-here)
    Exit: Control+D or (exit) or (quit)
 Results: Stored in vars *1, *2, *3, an exception in *e

user=> 
cursive-ide commented 10 years ago

Hmm, that's very strange, I don't know why it fails for me. Still, I can reproduce the Cursive issue so I'll try to figure that out.

cursive-ide commented 10 years ago

This appears to be a problem with cljsbuild using trampoline, which Cursive uses under the hood. See #386 and the associated cljsbuild issue: emezeske/lein-cljsbuild#204.

DjebbZ commented 10 years ago

I managed to integrate a local REPL into Cursive the normal way using the following leiningen template : https://github.com/jacksonja/clj-cljs-weasel-template. It uses lein-cljsbuild and weasel (not austin) to provide a working browser REPL.

So the steps to use it the normal steps :

  1. lein new clj-cljs-weasel my-project
  2. Import with Cursive
  3. lein cljsbuild auto
  4. In Cursive, start a local REPL
  5. In Cursive's REPL, (start-repl)
  6. Visit some HTML page, then play with it from Cursive the expected way.

Not sure to understand why this one works but the other attempts (mine included) fail.

cursive-ide commented 10 years ago

This template works because it doesn't put cljsbuild under :hooks in the project.clj, which is what provokes this bug. I don't know what the implications of that are. Thanks for the tip!

DjebbZ commented 10 years ago

You're welcome.

Odinodin commented 9 years ago

Ran in to the same problem today with a completely new project created with lein new app some-name. Any progress on this issue?

cursive-ide commented 9 years ago

I'm not sure, since this seems to be a downstream issue with cljsbuild. There's no more activity on that ticket, unfortunately - no-one seems to have stepped up to investigate it.

deaddowney commented 9 years ago

Darn, this just bit me too! I'll try to run from the command line

krishnabhargav commented 9 years ago

I am not sure if this is acceptable for anyone or will work for you or not but this is what I did to solve it. I went to the ~/.m2/ repository and deleted everything from inside the repository folder. Got back to my project, removed all traces or intellij/cursive (delete .idea and .iml file from the project). Then from the command line, I ran a "lein deps" to get the dependencies. Later, imported the project back into IntelliJ again.

Edit: I got the same problem after I played with cljs for a bit and then got back to simple CLJ projects using "lein new" - nothing to do with CLJS within that project but still got bit by it.

viesti commented 9 years ago

Any progress on this issue?

cursive-ide commented 9 years ago

No - this is a downstream issue. cemerick closed the associated issue because after 18 months no-one had offered a patch to fix it. It's annoying for Cursive users, but realistically I don't know that toolchain at all, and people who do still couldn't figure it out, so I can't invest that much time trying to fix it myself. If anyone else wants to I'll be delighted, though!

viesti commented 9 years ago

Ok. Just a hunch, but this could be related to http://dev.clojure.org/jira/browse/CLJ-1544 (referenced from https://github.com/cemerick/austin/issues/23).

cursive-ide commented 9 years ago

Hmm, nice catch - that does look plausible, since Cursive is AOT compiled and unfortunately since AOT is infectious in Clojure right now, that means that the nREPL etc that I'm using is also AOT compiled. I'll need to read that issue more closely to see if I can come up with a plausible explanation for what is happening and perhaps a fix.

cursive-ide commented 9 years ago

There's another pointer that it might be the same issue - CLJ-1544 has been rolled back for the moment because it causes an issue with Clojure 1.7 alpha 5, but only under JDK 7, not JDK 8. I almost certainly tried to use JDK 7 to reproduce the issue originally, and I could reproduce the issue with lein repl - @jmgimeno could not reproduce it using lein repl, but he's on JDK 8.

puredanger commented 9 years ago

CLJ-1544 was not rolled back because of a JDK-specific problem. We just want to get more clarity about the root problem and potential fixes.

cursive-ide commented 9 years ago

@puredanger Sure, but it seems like the issue with the patch could be reproduced on JDK 7 but not JDK 8, right? Anyway, just looking for similarities with this problem.

puredanger commented 9 years ago

No, that was an early (and wrong) assumption.

micahasmith commented 8 years ago

today i had this issue, i rebooted intellij and it started working again

terjedahl commented 7 years ago

Similar/related issue? I have been working on a Leiningen plugin.
I use "hooks" to extend the classpath, and can se that when I do lein repl my hook is called, and my classpath is appended. But when I run rREPL w/Leiningen in Cursive IDE / IntelliJ, my neither middleware nor hooks are called, and classpath is not appended.

My workaround is the same as above:

  1. Do lein repl or lein repl :headless
  2. Run a remote nREPL client to connect it (using the "Leiningen REPL port" option).
aaronblenkush commented 7 years ago

I experienced this issue when I had Parameters set to "dev.clj", a file that did not exist. The issue was resolved by clearing that value. This is the Parameters field under Common Options in the Run/Debug Configuration for a Local Clojure REPL.

danielcompton commented 7 years ago

This hit me too, in my I got around it by commenting out [lein-figwheel "0.6.5"] from [:profiles :dev :plugins].

mmower commented 7 years ago

I have a project doing this. It's a fresh project created with:

lein new re-frame +handler +re-com +re-frisk

Starting nREPL server... /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/bin/java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:58503,suspend=y,server=n -Dfile.encoding=UTF-8 -XX:-OmitStackTraceInFastThrow -Dclojure.compile.path=/Users/matt/Projects/Play/smiley/target/classes -Dsmiley.version=0.1.0-SNAPSHOT -Dclojure.debug=false -classpath "/Users/matt/Projects/Play/smiley/test:/Users/matt/Projects/Play/smiley/src/clj:/Users/matt/Projects/Play/smiley/dev-resources:/Users/matt/Projects/Play/smiley/resources:/Users/matt/Projects/Play/smiley/target/classes:/Users/matt/.m2/repository/org/eclipse/jetty/jetty-http/9.2.10.v20150310/jetty-http-9.2.10.v20150310.jar:/Users/matt/.m2/repository/org/clojure/java.classpath/0.2.2/java.classpath-0.2.2.jar:/Users/matt/.m2/repository/org/clojure/clojure/1.8.0/clojure-1.8.0.jar:/Users/matt/.m2/repository/instaparse/instaparse/1.4.0/instaparse-1.4.0.jar:/Users/matt/.m2/repository/medley/medley/0.7.3/medley-0.7.3.jar:/Users/matt/.m2/repository/ring/ring-devel/1.4.0/ring-devel-1.4.0.jar:/Users/matt/.m2/repository/org/eclipse/jetty/jetty-server/9.2.10.v20150310/jetty-server-9.2.10.v20150310.jar:/Users/matt/.m2/repository/org/clojure/tools.macro/0.1.5/tools.macro-0.1.5.jar:/Users/matt/.m2/repository/data-frisk-reagent/data-frisk-reagent/0.3.5/data-frisk-reagent-0.3.5.jar:/Users/matt/.m2/repository/reagent/reagent/0.6.0/reagent-0.6.0.jar:/Users/matt/.m2/repository/ring/ring-codec/1.0.0/ring-codec-1.0.0.jar:/Users/matt/.m2/repository/org/clojure/tools.analyzer.jvm/0.6.10/tools.analyzer.jvm-0.6.10.jar:/Users/matt/.m2/repository/com/cognitect/transit-cljs/0.8.239/transit-cljs-0.8.239.jar:/Users/matt/.m2/repository/ring/ring-servlet/1.4.0/ring-servlet-1.4.0.jar:/Users/matt/.m2/repository/clj-time/clj-time/0.9.0/clj-time-0.9.0.jar:/Users/matt/.m2/repository/re-frisk/re-frisk/0.3.2/re-frisk-0.3.2.jar:/Users/matt/.m2/repository/re-com/re-com/0.8.3/re-com-0.8.3.jar:/Users/matt/.m2/repository/org/clojure/tools.analyzer/0.6.9/tools.analyzer-0.6.9.jar:/Users/matt/.m2/repository/org/clojure/tools.nrepl/0.2.12/tools.nrepl-0.2.12.jar:/Users/matt/.m2/repository/com/google/javascript/closure-compiler-externs/v20160315/closure-compiler-externs-v20160315.jar:/Users/matt/.m2/repository/clojure-complete/clojure-complete/0.2.4/clojure-complete-0.2.4.jar:/Users/matt/.m2/repository/args4j/args4j/2.0.26/args4j-2.0.26.jar:/Users/matt/.m2/repository/cljsjs/react-dom-server/15.2.1-0/react-dom-server-15.2.1-0.jar:/Users/matt/.m2/repository/binaryage/devtools/0.8.2/devtools-0.8.2.jar:/Users/matt/.m2/repository/org/clojure/core.async/0.2.391/core.async-0.2.391.jar:/Users/matt/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4.jar:/Users/matt/.m2/repository/yogthos/config/0.8/config-0.8.jar:/Users/matt/.m2/repository/crypto-equality/crypto-equality/1.0.0/crypto-equality-1.0.0.jar:/Users/matt/.m2/repository/ring/ring-jetty-adapter/1.4.0/ring-jetty-adapter-1.4.0.jar:/Users/matt/.m2/repository/org/clojure/google-closure-library-third-party/0.0-20160609-f42b4a24/google-closure-library-third-party-0.0-20160609-f42b4a24.jar:/Users/matt/.m2/repository/org/clojure/google-closure-library/0.0-20160609-f42b4a24/google-closure-library-0.0-20160609-f42b4a24.jar:/Users/matt/.m2/repository/org/clojure/core.memoize/0.5.9/core.memoize-0.5.9.jar:/Users/matt/.m2/repository/com/cognitect/transit-js/0.8.846/transit-js-0.8.846.jar:/Users/matt/.m2/repository/hiccup/hiccup/1.0.5/hiccup-1.0.5.jar:/Users/matt/.m2/repository/re-frame/re-frame/0.9.1/re-frame-0.9.1.jar:/Users/matt/.m2/repository/org/clojure/tools.logging/0.3.1/tools.logging-0.3.1.jar:/Users/matt/.m2/repository/com/andrewmcveigh/cljs-time/0.4.0/cljs-time-0.4.0.jar:/Users/matt/.m2/repository/org/eclipse/jetty/jetty-io/9.2.10.v20150310/jetty-io-9.2.10.v20150310.jar:/Users/matt/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar:/Users/matt/.m2/repository/ring/ring-core/1.4.0/ring-core-1.4.0.jar:/Users/matt/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6.jar:/Users/matt/.m2/repository/cljsjs/react-dom/15.2.1-0/react-dom-15.2.1-0.jar:/Users/matt/.m2/repository/org/ow2/asm/asm-all/4.2/asm-all-4.2.jar:/Users/matt/.m2/repository/org/clojure/tools.namespace/0.2.10/tools.namespace-0.2.10.jar:/Users/matt/.m2/repository/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar:/Users/matt/.m2/repository/org/clojure/data.json/0.2.6/data.json-0.2.6.jar:/Users/matt/.m2/repository/org/clojure/data.priority-map/0.0.7/data.priority-map-0.0.7.jar:/Users/matt/.m2/repository/ring/ring/1.4.0/ring-1.4.0.jar:/Users/matt/.m2/repository/org/clojure/tools.reader/1.0.0-beta3/tools.reader-1.0.0-beta3.jar:/Users/matt/.m2/repository/compojure/compojure/1.5.0/compojure-1.5.0.jar:/Users/matt/.m2/repository/crypto-random/crypto-random/1.2.0/crypto-random-1.2.0.jar:/Users/matt/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar:/Users/matt/.m2/repository/com/google/javascript/closure-compiler-unshaded/v20160315/closure-compiler-unshaded-v20160315.jar:/Users/matt/.m2/repository/ns-tracker/ns-tracker/0.3.0/ns-tracker-0.3.0.jar:/Users/matt/.m2/repository/org/mozilla/rhino/1.7R5/rhino-1.7R5.jar:/Users/matt/.m2/repository/org/clojure/clojurescript/1.9.229/clojurescript-1.9.229.jar:/Users/matt/.m2/repository/joda-time/joda-time/2.6/joda-time-2.6.jar:/Users/matt/.m2/repository/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1.jar:/Users/matt/.m2/repository/org/eclipse/jetty/jetty-util/9.2.10.v20150310/jetty-util-9.2.10.v20150310.jar:/Users/matt/.m2/repository/com/google/guava/guava/19.0/guava-19.0.jar:/Users/matt/.m2/repository/org/clojure/core.cache/0.6.5/core.cache-0.6.5.jar:/Users/matt/.m2/repository/cljsjs/react/15.2.1-0/react-15.2.1-0.jar:/Users/matt/.m2/repository/clout/clout/2.1.2/clout-2.1.2.jar:/Users/matt/.m2/repository/clj-stacktrace/clj-stacktrace/0.2.8/clj-stacktrace-0.2.8.jar:/Users/matt/.m2/repository/com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar" clojure.main -i /private/var/folders/dw/tmf07r7n1cv6khc7rc35q4cw0000gn/T/form-init6664503631468015144.clj Connected to the target VM, address: '127.0.0.1:58503', transport: 'socket' Exception in thread "main" java.io.FileNotFoundException: Could not locate cljsbuild/compilerinit.class or cljsbuild/compiler.clj on classpath., compiling:(/private/var/folders/dw/tmf07r7n1cv6khc7rc35q4cw0000gn/T/form-init6664503631468015144.clj:1:125) at clojure.lang.Compiler.load(Compiler.java:7391) at clojure.lang.Compiler.loadFile(Compiler.java:7317) at clojure.main$load_script.invokeStatic(main.clj:275) at clojure.main$init_opt.invokeStatic(main.clj:277) at clojure.main$init_opt.invoke(main.clj:277) at clojure.main$initialize.invokeStatic(main.clj:308) at clojure.main$null_opt.invokeStatic(main.clj:342) at clojure.main$null_opt.invoke(main.clj:339) at clojure.main$main.invokeStatic(main.clj:421) at clojure.main$main.doInvoke(main.clj:384) at clojure.lang.RestFn.invoke(RestFn.java:421) at clojure.lang.Var.invoke(Var.java:383) at clojure.lang.AFn.applyToHelper(AFn.java:156) at clojure.lang.Var.applyTo(Var.java:700) at clojure.main.main(main.java:37) Caused by: java.io.FileNotFoundException: Could not locate cljsbuild/compilerinit.class or cljsbuild/compiler.clj on classpath. at clojure.lang.RT.load(RT.java:456) at clojure.lang.RT.load(RT.java:419) at clojure.core$load$fn5677.invoke(core.clj:5893) at clojure.core$load.invokeStatic(core.clj:5892) at clojure.core$load.doInvoke(core.clj:5876) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invokeStatic(core.clj:5697) at clojure.core$load_one.invoke(core.clj:5692) at clojure.core$load_lib$fn5626.invoke(core.clj:5737) at clojure.core$load_lib.invokeStatic(core.clj:5736) at clojure.core$load_lib.doInvoke(core.clj:5717) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invokeStatic(core.clj:648) at clojure.core$load_libs.invokeStatic(core.clj:5774) at clojure.core$load_libs.doInvoke(core.clj:5758) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invokeStatic(core.clj:648) at clojure.core$require.invokeStatic(core.clj:5796) at clojure.core$require.doInvoke(core.clj:5796) at clojure.lang.RestFn.invoke(RestFn.java:436) at user$eval9.invokeStatic(form-init6664503631468015144.clj:1) at user$eval9.invoke(form-init6664503631468015144.clj:1) at clojure.lang.Compiler.eval(Compiler.java:6927) at clojure.lang.Compiler.eval(Compiler.java:6916) at clojure.lang.Compiler.load(Compiler.java:7379) ... 14 more Disconnected from the target VM, address: '127.0.0.1:58503', transport: 'socket'

Process finished with exit code 1 Exception starting REPL: java.lang.InterruptedException