Giter Club home page Giter Club logo

Comments (33)

amiracam avatar amiracam commented on July 24, 2024

btw, I'm on jrubyfx 1.1.0, I also noticed that on 1.0.0 I get the same type of error but it crashes on Accordion instead, I am using Tab and Accordion controls in the app

from jrubyfx.

amiracam avatar amiracam commented on July 24, 2024

So is it that I need to get the jruby bleeding edge to work with jdk 1.8 ?, now that I set my JAVA_HOME to jdk 1.7.0_45 everything is back up normal.

from jrubyfx.

amiracam avatar amiracam commented on July 24, 2024

Ok, just thought I try to compare what's different in the jdks and I think I found the issue:

Jdk 1.7.0_45 has a jar which I believe represents the java fx runtime i.e.:

/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/jfxrt.jar

indeed inspecting the jar one will find the Pagination.class

however jdk 1.8.0 under its JRE/lib folder does not have said runtime jar

it does have under its HOME directory a javafx-src.zip archive which when inspected one will find the Pagination.java

So is this a case that somehow I missed that when using the OpenJDK for 1.8 that I had to generate jar from the source ?

Please let me know

thanks

Charles

from jrubyfx.

edubkendo avatar edubkendo commented on July 24, 2024

amiricam : In JDK8, the jfxrt jar is in jdk8/jre/lib/ext. It's there
because the jars in that directory are placed automatically on the
classpath. That's what is meant when you see people talk about javafx being
immediately available in jdk8 or whatever.

For the record, I've seen some similar issues as this. Will go into more
details later, got to run now.

On Mon, Nov 4, 2013 at 6:34 AM, amiracam [email protected] wrote:

Ok, just thought I try to compare what's different in the jdks and I think
I found the issue:

Jdk 1.7.0_45 has a jar which I believe represents the java fx runtime i.e.:

/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/jfxrt.jar

indeed inspecting the jar one will find the Pagination.class

however jdk 1.8.0 under its JRE/lib folder does not have said runtime jar

it does have under its HOME directory a javafx-src.zip archive which when
inspected one will find the Pagination.java

So is this a case that somehow I missed that when using the OpenJDK for
1.8 that I had to generate jar from the source ?

Please let me know

thanks

Charles


Reply to this email directly or view it on GitHubhttps://github.com//issues/72#issuecomment-27681816
.

from jrubyfx.

enebo avatar enebo commented on July 24, 2024

It also seems weird to me that Pagination would not exist in JDK8. It is almost like something is pulling in the wrong version maybe?

from jrubyfx.

amiracam avatar amiracam commented on July 24, 2024

its certainly there, see here:

http://www.screencast.com/t/9ehXGdFba

how can I tell what the current Java classpath in context at the time of jruby running ?

jruby thinks 1.8 is home:

jruby 1.7.6 (1.9.3p392) 2013-10-23 6004147 on Java HotSpot(TM) 64-Bit Server VM 1.8.0-ea-b112 +indy [darwin-x86_64]

the other really weird thing is that I would have thought that placing the jfxrt.jar under jruby/lib would have worked but it didn't, so what am I missing there ?

from jrubyfx.

enebo avatar enebo commented on July 24, 2024

If you look in lib/jrubyfx/imports.rb you can see a lot of logic for trying to figure out where jrubyfx is. Looking at your string it would appear it is not requiring 'fxrt.jar' since you are b112 and that is greater than b75. So you could play with this and perhaps force a require or print some values out to see what is happening at this point.

The other slightly more obvious possibility is you have JFX_DIR set and it is loading the wrong version? Print statements can also prove or disprove that.

from jrubyfx.

amiracam avatar amiracam commented on July 24, 2024

well now i understand why putting it under jruby/lib won't work:

Java 8 (after ea-b75) and above has JavaFX as part of the normal distib, only require it if we are 7 or below

jre = ENV_JAVA["java.runtime.version"].match %r{^(?(?\d+).(?\d+)).(?\d+)(_\d+)?-?(?ea|u\d)?(-?b(?\d+))?}
require 'jfxrt.jar' if ENV['JFX_DIR'] or
jre[:version].to_f < 1.8 or
(jre[:version].to_f == 1.8 and jre[:release] == 'ea' and jre[:build].to_i < 75)

btw, this test works:

Java.javafx.application.Application
rescue LoadError, NameError
puts "JavaFX runtime not found. Please install Java 7u6 or newer or set environment variable JFX_DIR to the folder that contains jfxrt.jar "
puts "If you have Java 7u6 or later, this is a bug. Please report to the issue tracker on github. Include your OS version, 32/64bit, and architecture (x86, ARM, PPC, etc)"
exit -1
end

but this one doesn't:

Java.javafx.scene.control.Pagination
rescue LoadError, NameError
puts "JavaFX runtime not found. Please install Java 7u6 or newer or set environment variable JFX_DIR to the folder that contains jfxrt.jar "
puts "If you have Java 7u6 or later, this is a bug. Please report to the issue tracker on github. Include your OS version, 32/64bit, and architecture (x86, ARM, PPC, etc)"
exit -1
end

BTW, notice my load path and its last item, it doesn't seem that these paths are recursive, point being lib/ext for java is not listed i.e. where java

/Users/charles/.rvm/gems/jruby-1.7.6/gems/twitter-4.8.1/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/test-unit-2.5.5/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/simple_oauth-0.2.0/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/pony-1.4.1/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/nokogiri-1.6.0-java/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/mini_portile-0.5.1/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/mail-2.5.4/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/treetop-1.4.14/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/polyglot-0.3.3/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/mime-types-1.23/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-fxmlloader-0.3-java/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/faraday-0.8.8/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/multipart-post-1.2.0/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/dm-sqlite-adapter-1.2.0/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/do_sqlite3-0.10.13-java/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jdbc-sqlite3-3.7.2.1/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/do_jdbc-0.10.13-java/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/dm-is-tree-1.2.0/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/dm-do-adapter-1.2.0/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/data_objects-0.10.13/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/data_mapper-1.2.0/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/dm-validations-1.2.0/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/dm-types-1.2.2/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/uuidtools-2.1.4/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/stringex-1.5.1/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/dm-transactions-1.2.0/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/dm-timestamps-1.2.0/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/dm-serializer-1.2.2/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/json_pure-1.8.0/lib
/Users/charles/.rvm/rubies/jruby-1.7.6/lib/ruby/gems/shared/gems/json-1.8.0-java/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/fastercsv-1.5.5/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/dm-migrations-1.2.0/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/dm-constraints-1.2.0/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/dm-aggregates-1.2.0/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/dm-core-1.2.1/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/chronic-0.9.1/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/bcrypt-ruby-3.0.1-java/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/addressable-2.3.4/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/activesupport-3.2.13/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/multi_json-1.7.6/lib
/Users/charles/.rvm/gems/jruby-1.7.6/gems/i18n-0.6.1/lib
/Applications/RubyMine EAP.app/rb/gems
/Users/charles/.rvm/gems/jruby-1.7.6@global/gems/bundler-1.3.5/lib
/Users/charles/.rvm/rubies/jruby-1.7.6/lib/ruby/1.9/site_ruby
/Users/charles/.rvm/rubies/jruby-1.7.6/lib/ruby/shared
/Users/charles/.rvm/rubies/jruby-1.7.6/lib/ruby/1.9
/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib

Also LOCAL_NAME_MAP does contain the entry for Pagination

from jrubyfx.

amiracam avatar amiracam commented on July 24, 2024

I was already there i.e. imports.rb and did force the require but I still could not load Pagination i.e. I forced the require in a debugger session , and did eval to load class.

No, I have not set JFX_DIR and indeed it doesn't show up in ENV

btw, note that the following DSLs load fine i.e. except for the last one of course:

/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/core_ext/border_pane.rb
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/core_ext/column_constraints.rb
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/core_ext/drag_event.rb
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/core_ext/duration.rb
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/core_ext/effects.rb
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/core_ext/file_chooser.rb
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/core_ext/geometry.rb
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/core_ext/grid_pane.rb
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/core_ext/image_view.rb
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/core_ext/media_player.rb
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/core_ext/observable_value.rb
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/core_ext/pagination.rb

Note that pagination is the first of these to be a "control",

here are the dependencies

http://www.screencast.com/t/RzjAlPEE0

btw, forcing the JFX_DIR to at the correct place did not help, it seems there's an issue with a pre-req

I'll dig a bit more , need to go get my lunch.

from jrubyfx.

amiracam avatar amiracam commented on July 24, 2024

how can i get access to the underlying Java exception ?

Uncaught exception: cannot initialize Java class javafx.scene.control.Pagination
org/jruby/javasupport/JavaClass.java:1250:in for_name' org/jruby/javasupport/JavaUtilities.java:34:inget_proxy_class'
file:/Users/charles/.rvm/rubies/jruby-1.7.6/lib/jruby.jar!/jruby/java/java_package_module_template.rb:4:in const_missing' /Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/core_ext/pagination.rb:19:in(root)'
org/jruby/RubyKernel.java:1082:in require' /Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/dsl.rb:1:in(root)'
org/jruby/RubyDir.java:339:in glob' /Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/dsl.rb:314:inload_dsl'
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx/dsl.rb:312:in load_dsl' org/jruby/RubyKernel.java:1082:inrequire'
/Users/charles/.rvm/gems/jruby-1.7.6/gems/jrubyfx-1.1.0-java/lib/jrubyfx.rb:37:in (root)' org/jruby/debug/RubyDebugger.java:204:indebug_load'
/Users/charles/RubymineProjects/AMN/src/lib/amn_main_ui.rb:1:in (root)' /Users/charles/RubymineProjects/AMN/src/lib/amn_main_ui.rb:3:in(root)'
org/jruby/RubyKernel.java:1101:in `load'

from jrubyfx.

amiracam avatar amiracam commented on July 24, 2024

btw, I can't load Pagination's parent javafx.scene.Control however I can load Control's parent i.e. javafx.Scene.Parent

from jrubyfx.

enebo avatar enebo commented on July 24, 2024

This is going the extra mile but can you compile a simple JavaFX Java app using this Java 8? Could there be something weird with the install itself maybe?

from jrubyfx.

amiracam avatar amiracam commented on July 24, 2024

I wouldn't quite call that a mile :), but so i understand you, you want me to take some straight up JavaFX Sample for example from one of Oracle's tutorials, compile it and see if it crashes.

Not being a Java guy, the way I would do that is to use IDEA , create a Java project , copy sample source, point to the JDK 1.8 and hit "run"

BTW, it would be good to know what is the latest JDK 1.8 build you all have tested against. I'm using the second to last since the latest shows up as "build failed" for Mac OS X

from jrubyfx.

amiracam avatar amiracam commented on July 24, 2024

unfortunately , a straight Java fx app compiles and runs fine under the jdk I'm using i.e. jdk1.8,

here's the source I used:

https://gist.github.com/amiracam/7308923

Let me know of other tests you can think for me to run.

thanks

-charles

from jrubyfx.

byteit101 avatar byteit101 commented on July 24, 2024

Gadzooks! @amiracam would you mind not replying to yourself every 20 minutes? It sends lots of email that does not contain much (I don't think editing sends emails)

Anyway, yea, the primary issue the last time I looked into it was loading the classes from the right place. I have not looked into it much, nor do I have time at the moment, but that is what I remember.

how can i get access to the underlying Java exception ?

catch that one and inspect it

btw, I can't load Pagination's parent javafx.scene.Control however I can load Control's parent i.e. javafx.Scene.Parent

Umm, did you mean javafx.scene.control.Control? (http://download.java.net/jdk8/jfxdocs/javafx/scene/control/Control.html and http://docs.oracle.com/javafx/2/api/javafx/scene/control/Control.html) also Region is in the middle.

from jrubyfx.

amiracam avatar amiracam commented on July 24, 2024

I was wondering where you were hiding :) , I think if you look at the logs , every 20 minutes is an exaggeration but I did do two quick edits towards the tail end, what the hell is Gadzooks , brit lingo ? anyhow, yes that is what I mean , granted typed in too quick. This is what I get when I try to load that:

missing class or uppercase package name (`javafx.scene.control.Control'

Region, Parent load fine.

and what is this supposed to mean : "Anyway, yea, the primary issue the last time I looked into it was loading the classes from the right place"

I had JAVA_HOME correctly set, I also then went ahead and even forced the JFX_DIR to the location of jfxrt.jar i.e. under ire/lib/ext as @edubkendo noted.

Under JDK 1.7.0_45 it all works

Let me know what other tests you would like me to run.

Also what is the latest JDK 1.8 build that you all have tested against successfully ? What build are you working with ?

thanks

from jrubyfx.

byteit101 avatar byteit101 commented on July 24, 2024

I was wondering where you were hiding :) , I think if you look at the logs , every 20 minutes is an exaggeration but I did do two quick edits towards the tail end, what the hell is Gadzooks , brit lingo ?

According to google:

exclamation (archaic)

  1. an exclamation of surprise or annoyance.
    I'm not British (General American), so no, though it is apparently archaic.

and what is this supposed to mean : "Anyway, yea, the primary issue the last time I looked into it was loading the classes from the right place"

Around b75, all the jars were moved around and it (supposedly, @edubkendo apparently got it working before then) stopped working soon after. I have not looked at 8 much, I only looked briefly in the b90's, otherwise all work has been on oracle-jdk7 (u21,u25,u45)

Let me know what other tests you would like me to run.

Umm, I think its more a case of someone with the knowledge of how to fix this getting down and seeing what’s happening to fix it. I supposedly have the latest java8 one configure-alternative's away, though I’m very busy this week.

from jrubyfx.

amiracam avatar amiracam commented on July 24, 2024

Ok, the only reason I got on jdk 1.8 is because I need to do native packaging which includes compiling source, I can't release to prod before I get that, not that is really around the corner, just that I feel a little nervous on this strategy not knowing for sure that it will work. Unfortunately, Ruby does not have many great UI options, Jrubyfx definitely has the promise of the more pro/ enterprisey solution.

I believe that I only need jdk 1.8 to do the packaging and can include with the app jdk 1.7x, I probably need to check that out first.

thanks

P.S.. sorry for the quick edit :)

from jrubyfx.

amiracam avatar amiracam commented on July 24, 2024

good morning all . I have strange and promising news to report. Using JDK 1.8 and forcing the JFX_DIR to
/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/ext

from within Rubymine I get the app to launch fine and incidentally it actually looks better than on jdk1.7x. I thought I had gone thru this yesterday but I keep forgetting that Intellij caches stuff.

However, it still does not work if I try to start from a shell.

#Here's the diff:

Rubymine uses this to launch

/Users/charles/.rvm/rubies/jruby-1.7.6/bin/jruby --1.9 -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/charles/RubymineProjects/AMN/src/lib/amn_main_ui.rb

which I just can't run in the mac os x bash shell due to syntax errors

I have been using the following to start the app which I have in a script

cd ~
cd RubyMineProjects/AMN/src/lib
jruby -S amn_main_ui.rb # -J-client -J-d32

where

jruby -v
jruby 1.7.6 (1.9.3p392) 2013-10-23 6004147 on Java HotSpot(TM) 64-Bit Server VM 1.8.0-ea-b112 +indy [darwin-x86_64]

and

JFX_DIR=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/ext
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home

java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b112)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b54, mixed mode)

I also tried this:

/Users/charles/.rvm/rubies/jruby-1.7.6/bin/jruby --1.9 /Users/charles/RubymineProjects/AMN/src/lib/amn_main_ui.rb

which did not work.

Do you all understand what might be different ?

The end goal is to generate an installer of a native executable and apparently I can develop with 1.8 but I would like to understand what is going on.

thanks

-Charles

from jrubyfx.

amiracam avatar amiracam commented on July 24, 2024

I have so little time for this that I jump to hopeful conclusions, it seems Rubymine was caching the jdk 1.7x class path. So this is not working at all

Anyhow, trying to isolate the problem I devised the following code:

https://gist.github.com/amiracam/7335151

which generates this:

missing class or uppercase package name (javafx.scene.control.Control') org/jruby/javasupport/JavaUtilities.java:54:inget_proxy_or_package_under_package'
file:/Users/charles/.rvm/rubies/jruby-1.7.6/lib/jruby.jar!/jruby/java/java_package_module_template.rb:14:in method_missing' /Users/charles/RubymineProjects/AMN/src/tests/test_jdk8.rb:11:in(root)'
org/jruby/RubyKernel.java:1101:in load' -e:1:in(root)'

If I try to first import Control , I get slightly different verbiage i.e. regarding "can't initialize" Control, you will notice that the parent class Region loads. There must be a dependency that Control has that is preventing its loading since its certainly in the jfxrt.jar and so is its interface Skinnable

Unfortunately the error generated by jruby is not very helpful perhaps its all that itself can ascertain not sure how helpful Java is.

Again, any ideas please let me know. This still seems to be a jruby can't load issue thing since I can compile and run JavaFX code with the same JDK 1.8

thanks

from jrubyfx.

edubkendo avatar edubkendo commented on July 24, 2024

@amiracam can you give some information about your system and architecture? I'm seeing very similar errors on Ubuntu 13.10 (and was previously seeing them on Ubuntu 12.04) , 64bit, AMD A8-3520M APU with Radeon(tm) HD Graphics × 4 . If I remember correctly, after these issues began, I tried on Windows 7 (same computer, dual boot) , with same JDK8 build, and same jruby, and did not have these issues. I began seeing these errors at the same time (same build of JDK8, same version of jruby) that this problem- JRuby Issue#626 occurred.

Ultimately, javafx depends on Native toolkits for much of what it does. I believe that the problematic classes have some native dependencies, and there is some sort of falldown between java, jruby, jni and whatever this toolkit is.

I don't have time to dig into this more right now, I'm in the middle of packing for rubyconf, and wanted to be on the road 2 hours ago, but did want to mention these suspicions. @enebo , @byteit101 I'll be glad to help dig into this later, if you have any recommendations for what to look at. I had kind of hoped that by the time I got back to JRubyFX, updates to JDK8 and JRuby would have straightened this out, but it looks like this problem is going to persist.

from jrubyfx.

amiracam avatar amiracam commented on July 24, 2024

sure, what would you suggest I do to provide you with that? I have generated a Mac OS X system report but that's 4.6 mb of xml so I'm guessing that's overkill.

Essentially stock 2011 Mac Mini server except for memory upgrade.

Here's my Mac Mini "About this Mac" screenshot:

http://www.screencast.com/t/qVrUPWd63HWP

but basically Mac Mini 2 ghz i7, 16gb ram, up to date on Mac OS X i.e. running 10.9 (Mavericks)

I likewise would be glad to dig some more but I do need some guidance i.e Java or Jruby are not saying much.

I can also try on my Windows 7 Pro vmware image, but Mac OS X is definitely a target platform because the market for the app in question is the "consumer"

from jrubyfx.

enebo avatar enebo commented on July 24, 2024

Hopefully @edubkendo and I will have some time at Rubyconf to muck with this. I have not recently installed Java 8 and I don't see this. I suspect @edubkendo is correct that something in how it connects to some native layer is causing these to not load in some way since it sounds like all the non-control sorts of classes are loaded and the control ones are not...

from jrubyfx.

amiracam avatar amiracam commented on July 24, 2024

but if that's the case would not Java itself have the same problem ? If so I have successfully compiled JavaFX sample code and launched under JDK 1.8, anyhow it would be personally much appreciated any mucking you all can do. Funny RubyConf in Miami Beach , I used to go to the Clevelander regularly on the weekends. Enjoy.

from jrubyfx.

enebo avatar enebo commented on July 24, 2024

The recent commits allows JRubyFX to load in Java 8 for all non-FXML samples. FXML loader is using some com.sun packages which no longer exist in newer Java 8 builds...A follow-on fix will need to be done to fix FXMLLoader. The bug was essentially that Platform.startup needs to be called before we can import and Fx controls. In earlier FX runtimes this must have been happening implicitly somehow. I moved the code from Application Launcher which does this and put it right after the logic for requiring the jfxrt.jar file.

A second significant change was I decoupled the need to have JRubyFX-FMLLoader as a gem. If you want that behavior you need to require 'jrubyfx-fxmlloader' . Once required a new controller after that point will load the FXML stuff into the controller. As I mentioned above FXMLLoader will only work in Java 7 at this point (and maybe some early Java 8 builds).

from jrubyfx.

vpereira avatar vpereira commented on July 24, 2024

funny. I had the same problem using jdk-8u25 (linux 64 bits), jruby 1.7.3. With jdk-7u71, works like a charm.

from jrubyfx.

byteit101 avatar byteit101 commented on July 24, 2024

Was this using the prebuilt gems or master? It should be fixed in master but not prebuilt gems on rubygems

from jrubyfx.

vpereira avatar vpereira commented on July 24, 2024

Using prebuilt.. I will try with the master Version, thank you!
Am 05.11.2014 15:26 schrieb "Patrick Plenefisch" [email protected]:

Was this using the prebuilt gems or master? It should be fixed in master
but not prebuilt gems on rubygems


Reply to this email directly or view it on GitHub
#72 (comment).

from jrubyfx.

vpereira avatar vpereira commented on July 24, 2024

not really. I pulled the master version. rake gem && rake install. after that i ran the demos.

vpereira@linux-8njk:~/jrubyfx/samples> ruby test_all_the_samples.rb 
================================================================================
 /home/vpereira/jrubyfx/samples/fxml/Demo.rb
================================================================================
NameError: cannot load Java class com.sun.javafx.fxml.ObservableListChangeEvent
          for_name at org/jruby/javasupport/JavaClass.java:1250
   get_proxy_class at org/jruby/javasupport/JavaUtilities.java:34
       java_import at file:/home/vpereira/.rvm/rubies/jruby-1.7.13/lib/jruby.jar!/jruby/java/core_ext/object.rb:26
               map at org/jruby/RubyArray.java:2412
       java_import at file:/home/vpereira/.rvm/rubies/jruby-1.7.13/lib/jruby.jar!/jruby/java/core_ext/object.rb:22
            (root) at /home/vpereira/.rvm/gems/jruby-1.7.13/gems/jrubyfx-fxmlloader-0.3-java/lib/jrubyfx-fxmlloader.rb:39
           require at org/jruby/RubyKernel.java:1065
           require at /home/vpereira/.rvm/rubies/jruby-1.7.13/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:135
           require at /home/vpereira/.rvm/rubies/jruby-1.7.13/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:133
           require at /home/vpereira/.rvm/rubies/jruby-1.7.13/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:124
            (root) at /home/vpereira/jrubyfx/lib/jrubyfx/controller.rb:1
           require at org/jruby/RubyKernel.java:1065
           require at /home/vpereira/.rvm/rubies/jruby-1.7.13/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:55
           require at /home/vpereira/.rvm/rubies/jruby-1.7.13/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:53
            (root) at /home/vpereira/jrubyfx/lib/jrubyfx/controller.rb:21
            (root) at file:/home/vpereira/.rvm/rubies/jruby-1.7.13/lib/jruby.jar!/jruby/kernel19/kernel.rb:1
           require at org/jruby/RubyKernel.java:1065
  require_relative at file:/home/vpereira/.rvm/rubies/jruby-1.7.13/lib/jruby.jar!/jruby/kernel19/kernel.rb:21
            (root) at fxml/Demo.rb:19

reverting to jdk 1.7.0_71 works fine

from jrubyfx.

byteit101 avatar byteit101 commented on July 24, 2024

did you also update to master of jrubyfx-fxmlloader (its https://github.com/byteit101/JRubyFX-FXMLLoader)?

from jrubyfx.

vpereira avatar vpereira commented on July 24, 2024

nope, just jrubyfx. i will give a try

from jrubyfx.

vpereira avatar vpereira commented on July 24, 2024

yes. updating jrubyfx-fxmlloader did the trick, thanks!

from jrubyfx.

byteit101 avatar byteit101 commented on July 24, 2024

I just pushed updated versions of both gems (1.1.1) so you shouldn't need to use master anymore

from jrubyfx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.