Closed jayczech23 closed 2 years ago
Given the use of JRuby, sometimes the app takes a few seconds to load, so you gotta just patiently wait for it to start.
But, I assume you can run the app successfully without packaging via glimmer run
from the application directory? Also, try running the app via java -jar dist/package.jar
(where you replace package.jar with your project name followed by .jar). What happens? I am trying to isolate if you have a general error, if it's a JAR only error, or if it's a native executable error.
Running the application using glimmer run
has the same result as trying to run by opening the .exe
file, which is a loading indicator for a brief time, and then the application is never shown.
I did attempt to run using the .jar file, and got the following output:
2021-11-01T15:32:38.214-06:00 [main] WARN FilenoUtil : Native subprocess control requires open access to the JDK IO subsystem
Pass '--add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED' to enable.
[2021-11-01 15:32:45] ERROR glimmer: org/jruby/javasupport/ext/Module.java:99:in `java_import': not a valid Java identifier: .Resource (ArgumentError)
from uri:classloader:/jruby/java/core_ext/object.rb:16:in `java_import'
from uri:classloader:/gems/glimmer-dsl-swt-4.21.1.0/lib/glimmer/swt/image_proxy.rb:127:in `input_stream'
from uri:classloader:/gems/glimmer-dsl-swt-4.21.1.0/lib/glimmer/swt/image_proxy.rb:86:in `initialize'
from org/jruby/RubyClass.java:907:in `new'
from uri:classloader:/gems/glimmer-dsl-swt-4.21.1.0/lib/glimmer/swt/image_proxy.rb:43:in `create'
from uri:classloader:/gems/glimmer-dsl-swt-4.21.1.0/lib/glimmer/dsl/swt/image_expression.rb:56:in `interpret'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/engine.rb:181:in `block in interpret_expression'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/expression.rb:64:in `around'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/engine.rb:180:in `interpret_expression'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/engine.rb:175:in `interpret'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer.rb:78:in `method_missing'
from uri:classloader:/dads-toolchain/app/dads_toolchain/view/app_view.rb:49:in `block in AppView'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/parent_expression.rb:32:in `add_content'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/engine.rb:199:in `add_content'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/engine.rb:182:in `block in interpret_expression'
from org/jruby/RubyKernel.java:1940:in `tap'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/engine.rb:181:in `block in interpret_expression'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/expression.rb:64:in `around'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/engine.rb:180:in `interpret_expression'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/engine.rb:65:in `block in shell'
from uri:classloader:/dads-toolchain/app/dads_toolchain/view/app_view.rb:46:in `block in AppView'
from org/jruby/RubyBasicObject.java:2663:in `instance_exec'
from uri:classloader:/gems/glimmer-dsl-swt-4.21.1.0/lib/glimmer/ui/custom_widget.rb:182:in `block in initialize'
from uri:classloader:/gems/glimmer-dsl-swt-4.21.1.0/lib/glimmer/dsl/swt/exec_expression.rb:46:in `block in interpret'
from uri:classloader:/gems/glimmer-dsl-swt-4.21.1.0/lib/glimmer/swt/display_proxy.rb:151:in `auto_exec'
from uri:classloader:/gems/glimmer-dsl-swt-4.21.1.0/lib/glimmer/dsl/swt/exec_expression.rb:44:in `interpret'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/engine.rb:181:in `block in interpret_expression'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/expression.rb:64:in `around'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/engine.rb:180:in `interpret_expression'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/engine.rb:65:in `block in auto_exec'
from uri:classloader:/gems/glimmer-dsl-swt-4.21.1.0/lib/glimmer/ui/custom_widget.rb:182:in `initialize'
from uri:classloader:/gems/glimmer-dsl-swt-4.21.1.0/lib/glimmer/ui/custom_shell.rb:42:in `initialize'
from org/jruby/RubyClass.java:907:in `new'
from uri:classloader:/gems/glimmer-dsl-swt-4.21.1.0/lib/glimmer/dsl/swt/custom_widget_expression.rb:49:in `interpret'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/engine.rb:181:in `block in interpret_expression'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/expression.rb:64:in `around'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/engine.rb:180:in `interpret_expression'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer/dsl/engine.rb:175:in `interpret'
from uri:classloader:/gems/glimmer-2.4.0/lib/glimmer.rb:78:in `method_missing'
from (eval):6:in `launch'
from uri:classloader:/dads-toolchain/app/dads_toolchain/launch.rb:3:in `<main>'
from org/jruby/RubyKernel.java:1017:in `require'
from uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85:in `require'
from uri:classloader:/dads-toolchain/bin/dads_toolchain:7:in `<main>'
from org/jruby/RubyKernel.java:1052:in `load'
from uri:classloader:/META-INF/main.rb:1:in `<main>'
from org/jruby/RubyKernel.java:1017:in `require'
from uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85:in `require'
from <script>:3:in `<main>'
ERROR: org.jruby.embed.EvalFailedException: (NoMethodError) undefined method `swt_widget' for true:TrueClass
The issue is not a packaging issue if glimmer run
fails too.
I was hoping invoking glimmer run
from the project directory would give you a stack trace. Did it not print out an error report?
By the way, this error undefined method swt_widget' for true:TrueClass
is usually caused by a previous error (it is not the direct culprit). I think you should have more output that you did not share perhaps.
In any case, glimmer-dsl-swt version 4.21.2.0 has just been released, and it might resolve your issues (but it would be better to rescaffold your project with it from scratch instead of simply updating Gemfile
if you have not made many changes)
Nevermind, this error report tells the story:
java_import': not a valid Java identifier: .Resource (ArgumentError)
This is an issue that was definitely resolved in the new 4.21.2.0 release. Let me know how it works by scaffolding a new project with it from scratch.
p.s. if you have a project you made a lot of changes in, updating Gemfile with 4.21.2.0 might just work too, but rescaffolding and copying the changes might work better.
Hi @AndyObtiva
Following your suggestion of updating glimmer to 4.21.2.0
and rebuilding the project from scratch using scaffold did the trick.
Thank you and closing.
Desktop (please complete the following information and make sure it matches Glimmer Pre-Requisites before reporting an issue):
Describe the issue After packaging my application (created with scaffolding) on Windows
package[exe | msi]
in both.exe
and.msi
format, opening said.exe
does not open the application. A loading indicator appears for some time on the cursor, and then stops, without showing the application.