8000 fn-fx doesn't work on OpenJDK 1.8 · Issue #71 · fn-fx/fn-fx · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

fn-fx doesn't work on OpenJDK 1.8 #71

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
pmonks opened this issue Nov 28, 2018 · 4 comments
Open

fn-fx doesn't work on OpenJDK 1.8 #71

pmonks opened this issue Nov 28, 2018 · 4 comments

Comments

@pmonks
Copy link
Contributor
pmonks commented Nov 28, 2018

Steps to Reproduce:

  1. Install OpenJDK 1.8
  2. Run the tests (lein do version, test)

Expected Result:

Tests run, and pass (taking note of issue #45).

Actual Result:

$ lein do version, test
(Warning: profile :openjfx1.8 not found.)
Leiningen 2.8.1 on Java 1.8.0_192 OpenJDK 64-Bit Server VM
(Warning: profile :openjfx1.8 not found.)
Exception in thread "main" java.lang.ClassNotFoundException: javafx.application.Platform, compiling:(fn_fx/util.clj:1:1)
	at clojure.lang.Compiler.load(Compiler.java:7526)
	at clojure.lang.RT.loadResourceScript(RT.java:379)
	at clojure.lang.RT.loadResourceScript(RT.java:370)
	at clojure.lang.RT.load(RT.java:460)
	at clojure.lang.RT.load(RT.java:426)
	at clojure.core$load$fn__6548.invoke(core.clj:6046)
	at clojure.core$load.invokeStatic(core.clj:6045)
	at clojure.core$load.doInvoke(core.clj:6029)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at clojure.core$load_one.invokeStatic(core.clj:5848)
	at clojure.core$load_one.invoke(core.clj:5843)
	at clojure.core$load_lib$fn__6493.invoke(core.clj:5888)
	at clojure.core$load_lib.invokeStatic(core.clj:5887)
	at clojure.core$load_lib.doInvoke(core.clj:5868)
	at clojure.lang.RestFn.applyTo(RestFn.java:142)
	at clojure.core$apply.invokeStatic(core.clj:659)
	at clojure.core$load_libs.invokeStatic(core.clj:5925)
	at clojure.core$load_libs.doInvoke(core.clj:5909)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.core$apply.invokeStatic(core.clj:659)
	at clojure.core$require.invokeStatic(core.clj:5947)
	at clojure.core$require.doInvoke(core.clj:5947)
	at clojure.lang.RestFn.invoke(RestFn.java:421)
	at fn_fx.diff$eval367$loading__6434__auto____368.invoke(diff.clj:1)
	at fn_fx.diff$eval367.invokeStatic(diff.clj:1)
	at fn_fx.diff$eval367.invoke(diff.clj:1)
	at clojure.lang.Compiler.eval(Compiler.java:7062)
	at clojure.lang.Compiler.eval(Compiler.java:7051)
	at clojure.lang.Compiler.load(Compiler.java:7514)
	at clojure.lang.RT.loadResourceScript(RT.java:379)
	at clojure.lang.RT.loadResourceScript(RT.java:370)
	at clojure.lang.RT.load(RT.java:460)
	at clojure.lang.RT.load(RT.java:426)
	at clojure.core$load$fn__6548.invoke(core.clj:6046)
	at clojure.core$load.invokeStatic(core.clj:6045)
	at clojure.core$load.doInvoke(core.clj:6029)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at clojure.core$load_one.invokeStatic(core.clj:5848)
	at clojure.core$load_one.invoke(core.clj:5843)
	at clojure.core$load_lib$fn__6493.invoke(core.clj:5888)
	at clojure.core$load_lib.invokeStatic(core.clj:5887)
	at clojure.core$load_lib.doInvoke(core.clj:5868)
	at clojure.lang.RestFn.applyTo(RestFn.java:142)
	at clojure.core$apply.invokeStatic(core.clj:659)
	at clojure.core$load_libs.invokeStatic(core.clj:5925)
	at clojure.core$load_libs.doInvoke(core.clj:5909)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.core$apply.invokeStatic(core.clj:659)
	at clojure.core$require.invokeStatic(core.clj:5947)
	at clojure.core$require.doInvoke(core.clj:5947)
	at clojure.lang.RestFn.invoke(RestFn.java:421)
	at fn_fx.diff_test$eval361$loading__6434__auto____362.invoke(diff_test.clj:1)
	at fn_fx.diff_test$eval361.invokeStatic(diff_test.clj:1)
	at fn_fx.diff_test$eval361.invoke(diff_test.clj:1)
	at clojure.lang.Compiler.eval(Compiler.java:7062)
	at clojure.lang.Compiler.eval(Compiler.java:7051)
	at clojure.lang.Compiler.load(Compiler.java:7514)
	at clojure.lang.RT.loadResourceScript(RT.java:379)
	at clojure.lang.RT.loadResourceScript(RT.java:370)
	at clojure.lang.RT.load(RT.java:460)
	at clojure.lang.RT.load(RT.java:426)
	at clojure.core$load$fn__6548.invoke(core.clj:6046)
	at clojure.core$load.invokeStatic(core.clj:6045)
	at clojure.core$load.doInvoke(core.clj:6029)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at clojure.core$load_one.invokeStatic(core.clj:5848)
	at clojure.core$load_one.invoke(core.clj:5843)
	at clojure.core$load_lib$fn__6493.invoke(core.clj:5888)
	at clojure.core$load_lib.invokeStatic(core.clj:5887)
	at clojure.core$load_lib.doInvoke(core.clj:5868)
	at clojure.lang.RestFn.applyTo(RestFn.java:142)
	at clojure.core$apply.invokeStatic(core.clj:659)
	at clojure.core$load_libs.invokeStatic(core.clj:5925)
	at clojure.core$load_libs.doInvoke(core.clj:5909)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.core$apply.invokeStatic(core.clj:659)
	at clojure.core$require.invokeStatic(core.clj:5947)
	at clojure.core$require.doInvoke(core.clj:5947)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.core$apply.invokeStatic(core.clj:659)
	at clojure.core$apply.invoke(core.clj:652)
	at user$eval233.invokeStatic(form-init3481129458187765184.clj:1)
	at user$eval233.invoke(form-init3481129458187765184.clj:1)
	at clojure.lang.Compiler.eval(Compiler.java:7062)
	at clojure.lang.Compiler.eval(Compiler.java:7052)
	at clojure.lang.Compiler.load(Compiler.java:7514)
	at clojure.lang.Compiler.loadFile(Compiler.java:7452)
	at clojure.main$load_script.invokeStatic(main.clj:278)
	at clojure.main$init_opt.invokeStatic(main.clj:280)
	at clojure.main$init_opt.invoke(main.clj:280)
	at clojure.main$initialize.invokeStatic(main.clj:311)
	at clojure.main$null_opt.invokeStatic(main.clj:345)
	at clojure.main$null_opt.invoke(main.clj:342)
	at clojure.main$main.invokeStatic(main.clj:424)
	at clojure.main$main.doInvoke(main.clj:387)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.lang.Var.applyTo(Var.java:702)
	at clojure.main.main(main.java:37)
Caused by: java.lang.ClassNotFoundException: javafx.application.Platform
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at clojure.lang.DynamicClassLoader.findClass(DynamicClassLoader.java:69)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at clojure.lang.DynamicClassLoader.loadClass(DynamicClassLoader.java:77)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at clojure.lang.RT.classForName(RT.java:2204)
	at clojure.lang.RT.classForNameNonLoading(RT.java:2217)
	at fn_fx.util$eval427$loading__6434__auto____428.invoke(util.clj:1)
	at fn_fx.util$eval427.invokeStatic(util.clj:1)
	at fn_fx.util$eval427.invoke(util.clj:1)
	at clojure.lang.Compiler.eval(Compiler.java:7062)
	at clojure.lang.Compiler.eval(Compiler.java:7051)
	at clojure.lang.Compiler.load(Compiler.java:7514)
	... 97 more
Tests failed.
@pmonks
Copy link
Contributor Author
pmonks commented Nov 28, 2018

This is blocked on the non-availability of OpenJFX v1.8 artifacts in a Maven repository. An email has been sent to the openjfx-discuss mailing list enquiring about this.

@pmonks
Copy link
Contributor Author
pmonks commented Nov 29, 2018

@pmonks pmonks changed the title Doesn't work on OpenJDK 1.8 fn-fx doesn't work on OpenJDK 1.8 Nov 29, 2018
@roti
Copy link
Collaborator
roti commented Mar 24, 2019

On Linuxes there is a JavaFX package which adds JavaFX to OpenJDK: https://packages.debian.org/stretch/libopenjfx-java

I don't know exactly where they get their binaries, I haven't found an official Java FX 8 download link. We could ask them and bundle it in some clojars package. However, since JDK8 is not supported anymore I would not invest time in this. And if you want to use fn-fx with JavaFX 8 you need to either use the Oracle JDK, or download Java FX 8.

@joinr
Copy link
joinr commented Oct 31, 2019

I just ran into this on W10. For work purposes, I have to stay on Java 8. I migrated from Oracle JDK after the January changes, onto AdoptOpenJDK (easy installer). Adopt doesn't include OpenJFX 8. I ran into this when trying some stuff recently. The current path that appears to be working is using Azul's OpenJDK, Zulu FX. They have binaries from their download page. It looks like prebuilt binaries exist for other distros as well. They appear to be full featured, so includes WebKit, etc. There are two other distros (Amazon coretto and a redhat variant) that supposedly also include backwards compat for JDK 8. This is a big sore spot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants
0