Hi William,

You have to ensure that you download the version of Cursive that
corresponds to your IntelliJ version - the links are in the getting started
guide here: https://cursiveclojure.com/userguide/. It's unfortunate but
necessary that the versions coincide since the IntelliJ APIs change from
version to version.

Cheers,
Colin

On 23 August 2015 at 03:22, William la Forge <laforg...@gmail.com> wrote:

> Set the ide to Java 8 and clojure 1.7. And now it works great. Good catch.
> Thanks!
>
> As for Cursive, I'm guessing it is set to be compatible with idea 14.0.x,
> though fortunately when you go to 14.1 the plugins get grandfathered in.
> Which is a bit weird!
>
>
> On Saturday, August 22, 2015 at 8:12:30 PM UTC-4, William la Forge wrote:
>>
>> lean version shows java 8, but the ide sdk is java7. Didn't know they
>> would be connected. :0
>>
>> On Saturday, August 22, 2015 at 6:56:46 PM UTC-4, Colin Fleming wrote:
>>>
>>> That's very strange. I'd need more detailed instructions to try to
>>> reproduce this. But the class it can't find is new in Java 8 so it looks
>>> like you have a JVM version issue. I suspect that this shows up in Cursive
>>> but not in lein because you're using a different JDK version in your
>>> Cursive project than the one that is picked up on the command line.
>>>
>>> I'm guessing that java -version on the command line will show Java 8,
>>> but the one you have configured in your Cursive project (File->Project
>>> Structure->Project->Project SDK and File->Project Structure->Modules->(your
>>> module)->Module SDK) is less than that. Is that the case?
>>>
>>> On 22 August 2015 at 23:58, William la Forge <lafo...@gmail.com> wrote:
>>>
>>>> Bingo! Everything works when I revert to clojure 1.6.0.
>>>>
>>>>
>>>> On Saturday, August 22, 2015 at 5:49:24 PM UTC-4, William la Forge
>>>> wrote:
>>>>>
>>>>> More weirdness. This works:
>>>>>
>>>>> (let [^Object aa (.seq a5)]
>>>>>   (println (.getClass aa)))
>>>>>
>>>>>
>>>>> But not this:
>>>>>
>>>>>
>>>>> (let [^AASetSequence aa (.seq a5)]
>>>>>   (println (.getClass aa))))
>>>>>
>>>>>
>>>>> Nor, of course, this:
>>>>>
>>>>>
>>>>> (let [^AASetSequence aa (.seq a5)]
>>>>>   (println (.count aa)))
>>>>>
>>>>>
>>>>> Here's the error I'm getting now:
>>>>>
>>>>>
>>>>> Information:8/22/2015 5:45 PM - Compilation completed with 1 error and 0 
>>>>> warnings in 2s 743ms
>>>>> C:\Users\Bill\Documents\GitHub\aa-collections\test\aa_collections\immutable_set_test.clj
>>>>> Error:(26, 12) clojure: java.lang.NoClassDefFoundError: 
>>>>> java/util/function/UnaryOperator, 
>>>>> compiling:(aa_collections/immutable_set_test.clj:26:12)
>>>>> java.lang.ClassNotFoundException: java.util.function.UnaryOperator
>>>>>  at java.net.URLClassLoader$1.run (URLClassLoader.java:366)
>>>>>     java.net.URLClassLoader$1.run (URLClassLoader.java:355)
>>>>>     java.security.AccessController.doPrivileged (AccessController.java:-2)
>>>>>     java.net.URLClassLoader.findClass (URLClassLoader.java:354)
>>>>>     java.lang.ClassLoader.loadClass (ClassLoader.java:425)
>>>>>     java.lang.ClassLoader.loadClass (ClassLoader.java:358)
>>>>>     java.lang.Class.getDeclaredMethods0 (Class.java:-2)
>>>>>     java.lang.Class.privateGetDeclaredMethods (Class.java:2570)
>>>>>     java.lang.Class.privateGetPublicMethods (Class.java:2690)
>>>>>     java.lang.Class.getMethods (Class.java:1467)
>>>>>
>>>>>
>>>>>
>>>>> On Saturday, August 22, 2015 at 5:37:13 PM UTC-4, William la Forge
>>>>> wrote:
>>>>>>
>>>>>> Hi Colin!
>>>>>>
>>>>>> I've set it up to compile all. No doubt this will be very helpful as
>>>>>> I will no longer need to compile using an external `lein compile`. But 
>>>>>> run
>>>>>> still dies on the call (.getClass x), when x is a gen-class compiled 
>>>>>> class
>>>>>> instance.
>>>>>>
>>>>>> On the other hand I still can not credit this as a Cursive bug.
>>>>>> Calling methods on gen-class compiled class instances is to basic. But it
>>>>>> is likely related to Cursive, as 'lein test' works great.
>>>>>>
>>>>>> On Saturday, August 22, 2015 at 4:24:40 PM UTC-4, Colin Fleming wrote:
>>>>>>>
>>>>>>> Hi William,
>>>>>>>
>>>>>>> Right, you'll need to tell Cursive to compile that namespace in 
>>>>>>> *Settings->Build,
>>>>>>> Execution, Deployment->Compiler->Clojure Compiler*. Once you've
>>>>>>> done that things should work. Cursive doesn't currently pick the set of
>>>>>>> namespaces to be compiled up from lein - it probably should.
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Colin
>>>>>>>
>>>>>>> On 22 August 2015 at 17:17, William la Forge <lafo...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> I searched and did not see anything recent on gen-class problems in
>>>>>>>> Cursive. I find when I have a reference to a gen-class instance that
>>>>>>>> instance? works in Cursive but .getClass does not. (Everything works 
>>>>>>>> with
>>>>>>>> lein, of course.)
>>>>>>>>
>>>>>>>> What I am trying to do is to call the count method via (.count x).
>>>>>>>> What I do not want to do is call the clojure count function, (count x).
>>>>>>>> Again, no issues with lein.
>>>>>>>>
>>>>>>>> I suspect I simply have not completed the setup cursive for
>>>>>>>> compiles or something, as all the complaints about cursive/gen-class 
>>>>>>>> that I
>>>>>>>> could find were a year old.
>>>>>>>>
>>>>>>>> I know I need to switch to emacs at some times. I mean, it's only
>>>>>>>> been 30 years since I used it last. :D
>>>>>>>>
>>>>>>>> Here's the error I'm getting:
>>>>>>>>
>>>>>>>> Exception in thread "main" java.lang.NoClassDefFoundError:
>>>>>>>> java/util/function/UnaryOperator,
>>>>>>>> compiling:(C:\Users\Bill\Documents\GitHub\aa-collections\test\aa_collections\immutable_set_test.clj:22:10)
>>>>>>>> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6730)
>>>>>>>> at clojure.lang.Compiler.analyze(Compiler.java:6524)
>>>>>>>> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6711)
>>>>>>>> at clojure.lang.Compiler.analyze(Compiler.java:6524)
>>>>>>>> at clojure.lang.Compiler.analyze(Compiler.java:6485)
>>>>>>>> at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3791)
>>>>>>>> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6725)
>>>>>>>> at clojure.lang.Compiler.analyze(Compiler.java:6524)
>>>>>>>> at clojure.lang.Compiler.analyze(Compiler.java:6485)
>>>>>>>> at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5861)
>>>>>>>> at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6179)
>>>>>>>> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6723)
>>>>>>>> at clojure.lang.Compiler.analyze(Compiler.java:6524)
>>>>>>>> at clojure.lang.Compiler.analyze(Compiler.java:6485)
>>>>>>>> at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5861)
>>>>>>>> at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5296)
>>>>>>>> at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3925)
>>>>>>>> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6721)
>>>>>>>> at clojure.lang.Compiler.analyze(Compiler.java:6524)
>>>>>>>> at clojure.lang.Compiler.eval(Compiler.java:6779)
>>>>>>>> at clojure.lang.Compiler.load(Compiler.java:7227)
>>>>>>>> at clojure.lang.Compiler.loadFile(Compiler.java:7165)
>>>>>>>> at clojure.main$load_script.invoke(main.clj:275)
>>>>>>>> at clojure.main$script_opt.invoke(main.clj:337)
>>>>>>>> at clojure.main$main.doInvoke(main.clj:421)
>>>>>>>> at clojure.lang.RestFn.invoke(RestFn.java:408)
>>>>>>>> at clojure.lang.Var.invoke(Var.java:379)
>>>>>>>> at clojure.lang.AFn.applyToHelper(AFn.java:154)
>>>>>>>> at clojure.lang.Var.applyTo(Var.java:700)
>>>>>>>> at clojure.main.main(main.java:37)
>>>>>>>> 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
>>>>>>>> com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
>>>>>>>>
>>>>>>>> --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "Clojure" group.
>>>>>>>> To post to this group, send email to clo...@googlegroups.com
>>>>>>>> Note that posts from new members are moderated - please be patient
>>>>>>>> with your first post.
>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>> clojure+u...@googlegroups.com
>>>>>>>> For more options, visit this group at
>>>>>>>> http://groups.google.com/group/clojure?hl=en
>>>>>>>> ---
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "Clojure" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>> send an email to clojure+u...@googlegroups.com.
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To post to this group, send email to clo...@googlegroups.com
>>>> Note that posts from new members are moderated - please be patient with
>>>> your first post.
>>>> To unsubscribe from this group, send email to
>>>> clojure+u...@googlegroups.com
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/clojure?hl=en
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to clojure+u...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to