Java JRuby 9.0.5.0无法加载已编译的ruby文件
我们的应用程序是RoR应用程序,目前使用JRuby 1.7.22版和JRE 8_65。我们的应用程序是一个on-prem解决方案,因此我们使用JRuby在目标Windows Server 2012 R2系统的JVM上托管我们的应用程序。我们使用Java JRuby 9.0.5.0无法加载已编译的ruby文件,java,ruby-on-rails,jruby,Java,Ruby On Rails,Jruby,我们的应用程序是RoR应用程序,目前使用JRuby 1.7.22版和JRE 8_65。我们的应用程序是一个on-prem解决方案,因此我们使用JRuby在目标Windows Server 2012 R2系统的JVM上托管我们的应用程序。我们使用 jruby -S jrubyc 这将获取.rb文件并将其编译为.class文件。在原始的.rb中,它加载到类文件中,如下所示 load __FILE__.sub(/\.rb$/, ".class") 这些都适用于JRuby 1.7.22 现在,我们想
jruby -S jrubyc
这将获取.rb文件并将其编译为.class文件。在原始的.rb中,它加载到类文件中,如下所示
load __FILE__.sub(/\.rb$/, ".class")
这些都适用于JRuby 1.7.22
现在,我们想将JRuby更新到9.0.5.0,但在部署应用程序时遇到了一些问题。基本上,.rb文件中上面的那行代码不再工作了,我们在尝试运行rake db:setup时遇到了错误
rake aborted!
LoadError: C:/appname/app/models/app_attribute.class is not compiled Ruby; use java_import to load normal classes
C:/appname/app/models/app_attribute.rb:1:in `<top>'
C:/appname/db/seeds.rb:10:in `<top>'
C:/appname/db/seeds.rb:9:in `block in (root)'
Tasks: TOP => db:setup => db:seed
(See full trace by running task with --trace)
但是我收到一条警告说aot.LoadClasses无法识别。即使我在键入时在属性中看到它
jruby -Xproperties
我对此做了很多研究,可能已经看过了互联网上与此相关的所有内容。任何意见都将不胜感激。我遗漏了什么吗?我并不完全精通Java
谢谢。可能和 这意味着您需要等待9.1或使用快照 由于错误稍有不同,您应该考虑使用快照进行复制,如果失败(可能与Windows相关),则逐步复制可能会加快问题的解决 jruby-Xaot.loadClasses=true 这是不需要的莺 但是我收到一条警告说aot.LoadClasses无法识别。即使我在键入时在属性中看到它
jruby -Xproperties
嗯,你能不能用一个空脚本,不使用JRUBY选项来复制这个脚本
我对此做了很多研究,可能已经看过了互联网上与此相关的所有内容。任何意见都将不胜感激
您可能希望下次尝试调查该问题:)或考虑获得一些支持
我遗漏了什么吗?我并不完全精通Java
你不应该错过任何东西-这不是Java的问题
jruby -Xproperties