cursive icon indicating copy to clipboard operation
cursive copied to clipboard

Reveal fails to start from a repl launched from Cursive

Open imrekoszo opened this issue 4 years ago • 4 comments

I found that when using JDK8, I cannot launch Reveal from a REPL started from inside Cursive, giving me the following error:

Syntax error (IllegalArgumentException) compiling . at (cljfx/jdk/platform.clj:6:5).
No matching method startup found taking 1 args for class javafx.application.Platform

However it launches fine when I start the REPL from outside Cursive and then connect to it via nrepl from Cursive.

Full repro steps are captured in this minimal repo: https://github.com/imrekoszo/reveal-zulu

imrekoszo avatar May 13 '21 13:05 imrekoszo

I dug into this a bit and found that when starting the repl from cursive,

/Users/ikoszo/.m2/repository/cljfx/cljfx/1.7.12/cljfx-1.7.12-jdk11.jar is passed to java as part of the classpath

While if I do a -Spath in the project, I get

/Users/ikoszo/.m2/repository/cljfx/cljfx/1.7.12/cljfx-1.7.12-jdk8.jar in its place

Note jdk8 vs jdk11

The Cursive behaviour seems to be the same regardless of whether I run the repl with 'use deps' or 'use intellij project classpath'

Another difference is that all the jdk jars are explicitly passed in the classpath when running from Cursive:

/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/charsets.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/crs-agent.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/cldrdata.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/dnsns.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/jaccess.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/jfxrt.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/legacy8ujsse.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/localedata.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/nashorn.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/openjsse.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/sunec.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/zipfs.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/jce.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/jfr.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/jfxswt.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/jsse.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/management-agent.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/resources.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/rt.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/lib/ant-javafx.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/lib/dt.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/lib/javafx-mx.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/lib/jconsole.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/lib/packager.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/lib/sa-jdi.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/lib/tools.jar

Double-checked and I have the zulu 1.8 jdk configured in Project Structure.

imrekoszo avatar May 18 '21 12:05 imrekoszo

I've seen this problem as well. I thought it was a problem with the cljfx detection stuff, but that jdk11 jar being included explains it.

eoliphan avatar Aug 12 '21 14:08 eoliphan

This is still present as of #IC-212.5284.31 and Cursive 1.11.0-eap3-2021.2

imrekoszo avatar Sep 08 '21 15:09 imrekoszo

I encountered the same problem today!

wontheone1 avatar Sep 02 '22 09:09 wontheone1