Как правильно использовать Pry gem с JRuby и JRubyFx в Windows?
Я использую JRubyFx (привязка JavaFX JRuby — https://github.com/jruby/jrubyfx) и для своего теста я использую этот пример, сжатый до минимально необходимые строки.
require 'jrubyfx'
require 'pry'
class SimpleFXApplication < JRubyFX::Application
def start(stage)
stage.title = "jrubyfx app"
@ctrlr = SimpleFXController.load_fxml("some_fxml_code_for_ui.fxml", stage)
stage.show
end
end
class SimpleFXController < JRubyFX::Controller
end
SimpleFXApplication.launch
binding.pry
После запуска приложения консоль больше не принимает ввод, и «pry» возвращается, принимая ввод, только когда я закрываю окно SimpleFXApplication.
Я также пробовал использовать потоки Java:
...
binding.pry
Java.java.lang.Thread.new do SimpleFXApplication.launch end
Но затем, хотя новый идентификатор потока отображается как работающий, SimpleFXApplication никогда не запускается.
Еще одна вещь, которую я пробовал, — запустить pry из консоли, а затем потребовать и запустить SimpleFXApplication:
jruby -S pry
требуется './jrubyfx_demo.rb'
истинный
SimpleFXApplication.launch
И я получаю следующие ошибки...
Я предполагаю, что это как-то связано с тем, как JrubyFx использует потоки, или я не знаю, является ли это более общей проблемой, которая влияет на использование Pry с JRuby. Я хотел бы знать больше, я был бы признателен, если бы кто-то мог поделитесь советом.
SimpleFXApplication.launch никогда не возвращается до тех пор, пока не будет вызван Platform.exit (закрытие окон делает это в фоновом режиме)