Tengo un proyecto jruby con varios auto escritos.gemas (código Java con jars y código Ruby compilado para * .class) que funcionan perfectamente con jruby-1.7.0 (nivel de idioma 1.9) ejecutándose en varios java jvm "s como jdk1.7.0_07 o java-7-oracle.
Después de actualizar a jruby-1.7.4 recibo varios errores.
- ¡Archivo de culpa! -Método faltante en dependencies.rb de activesupport, que solucioné con pista de GitHub
- Problemas de carga: LoadError: error de carga: dibta-gui - java.lang.ArrayIndexOutOfBoundsException: 3 requiere en org / jruby / RubyKernel.java: 1054 Requerido en /home/frank/.rvm/rubies/jruby-1.7.4/lib/ruby/shared/rubygems/custom_require.rb:60 (raíz) en -e: 1
- Cuando ejecuto jruby con -d, obtengo una larga lista con stacktrace donde publico solo algunas líneas:
- java.lang.ClassNotFoundException: rubygems.defaults.OperatingSystemService en java.net.URLClassLoader $ 1.run (URLClassLoader. java: 366) ......
- Excepción java.lang.ClassNotFound: Dibta-guiService en java.net.URLClassLoader $ 1.run (URLClassLoader.java:366) ....
- java.lang.NoSuchMethodError: org.jruby.javasupport.util.RuntimeHelpers.preLoad (Lorg / jruby / runtime / ThreadContext; Ljava / lang / String; Z) V en dibta_gui.load (dibta_gui.rb) ....
- java.lang.ArrayIndexOutOfBoundsException: 3 en org.jruby.runtime.scope.ManyVarsDynamicScope.setValueDepthZero (ManyVarsDynamicScope.java:147) ....
Estoy usando rvm para cambiar entre rubíes. ¡Por favor ayuda!
Franco
Respuestas
0 para la respuesta № 1Después de intentar cargar gemas individualmente a través de jirb,Pronto descubrí que solo mis gemas no se cargaron, y siempre con la excepción ArrayIndexOutOfBoundsException. Mis gemas incluían archivos java * .class compilados con rubyc. Esta fue la razón. Los reconstruyo con archivos * .rb y todo funciona.
¿Alguien sabe por qué los archivos * .class dentro de una gema no se cargan utilizando jruby-1.7.4?
También revisa esta respuesta
requiere gema hecha a sí misma en jruby falla después de actualizar a jruby-1.7.13