问题描述
我正在尝试从较旧的 jruby/sinatra 应用程序生成一个 war 文件,以便可以在运行 apache tomcat 的 Windows 10 服务器上部署和托管它。该应用程序使用 jruby-jars 9.1.7.0 和 warbler 2.0.4,我的本地 jruby 版本也是 jruby-9.2.14.0
我尝试了生成战争文件的命令 MAVEN_REPO=https://repo1.maven.org/maven2 bundle exec warble runnable executable war
,但是当我尝试使用命令 java -jar pms_server.war
在本地运行它时,我收到以下错误
% java -jar pms_server.war
2021-02-17 17:01:09.533:INFO::main: Logging initialized @141ms
2021-02-17 17:01:09.537:INFO:oejr.Runner:main: Runner
2021-02-17 17:01:09.614:INFO:oejs.Server:main: jetty-9.2.9.v20150224
2021-02-17 17:01:16.802:WARN:oeja.AnnotationConfiguration:main: ServletContainerInitializers: detected. Class hierarchy: empty
2021-02-17 17:01:17.036:INFO:/:main: INFO: jruby 9.1.7.0 (2.3.1) 2017-01-11 68056ae OpenJDK 64-Bit Server VM 25.275-b01 on 1.8.0_275-b01 +jit [darwin-x86_64]
2021-02-17 17:01:17.036:INFO:/:main: INFO: using a shared (threadsafe!) runtime
uri:classloader:/meta-inf/jruby.home/lib/ruby/stdlib/monitor.rb:256: warning: toplevel constant Mutex referenced by Thread::Mutex
2021-02-17 17:01:18.842:WARN:/:main: ERROR: initialization Failed
org.jruby.rack.RackInitializationException: undefined method `extra_gem_paths' for JRuby::Util:Module|?from uri:classloader:/meta-inf/jruby.home/lib/ruby/stdlib/rubygems/defaults/jruby.rb:97:in `spec_directories_from_classpath'|?from uri:classloader:/meta-inf/jruby.home/lib/ruby/stdlib/rubygems/defaults/jruby.rb:70:in `dirs'|?from uri:classloader:/meta-inf/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:869:in `stubs_for'|?from uri:classloader:/meta-inf/jruby.home/lib/ruby/stdlib/rubygems/dependency.rb:279:in `matching_specs'|?from uri:classloader:/meta-inf/jruby.home/lib/ruby/stdlib/rubygems/dependency.rb:302:in `to_specs'|?from uri:classloader:/meta-inf/jruby.home/lib/ruby/stdlib/rubygems/dependency.rb:322:in `to_spec'|?from uri:classloader:/meta-inf/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_gem.rb:65:in `gem'|?from uri:classloader:/jruby/kernel/gem_prelude.rb:9:in `<main>'|?from org/jruby/RubyKernel.java:979:in `load'|?from file:/private/var/folders/8f/th0z6hjd4m927fzf55w9bcmw0000gn/T/jetty-0.0.0.0-8080-pms_server.war-_-any-4372077404497586368.dir/webapp/WEB-INF/lib/jruby-core-9.1.7.0-complete.jar!/jruby/preludes.rb:1:in `<main>'|
at org.jruby.rack.RackInitializationException.wrap(RackInitializationException.java:29)
at org.jruby.rack.RackApplicationFactoryDecorator.init(RackApplicationFactoryDecorator.java:104)
at org.jruby.rack.Rackservletcontextlistener.contextinitialized(Rackservletcontextlistener.java:50)
at org.eclipse.jetty.server.handler.ContextHandler.callContextinitialized(ContextHandler.java:800)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextinitialized(ServletContextHandler.java:444)
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294)
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:163)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
at org.eclipse.jetty.server.Server.start(Server.java:387)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
at org.eclipse.jetty.server.Server.doStart(Server.java:354)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.runner.Runner.run(Runner.java:509)
at org.eclipse.jetty.runner.Runner.main(Runner.java:557)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at WarMain.launchWebServer(WarMain.java:187)
at WarMain.start(WarMain.java:345)
at JarMain.doStart(JarMain.java:233)
at WarMain.main(WarMain.java:367)
Caused by:
org.jruby.exceptions.RaiseException: (NoMethodError) undefined method `extra_gem_paths' for JRuby::Util:Module
at RUBY.spec_directories_from_classpath(uri:classloader:/meta-inf/jruby.home/lib/ruby/stdlib/rubygems/defaults/jruby.rb:97)
at RUBY.dirs(uri:classloader:/meta-inf/jruby.home/lib/ruby/stdlib/rubygems/defaults/jruby.rb:70)
at RUBY.stubs_for(uri:classloader:/meta-inf/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:869)
at RUBY.matching_specs(uri:classloader:/meta-inf/jruby.home/lib/ruby/stdlib/rubygems/dependency.rb:279)
at RUBY.to_specs(uri:classloader:/meta-inf/jruby.home/lib/ruby/stdlib/rubygems/dependency.rb:302)
at RUBY.to_spec(uri:classloader:/meta-inf/jruby.home/lib/ruby/stdlib/rubygems/dependency.rb:322)
at RUBY.gem(uri:classloader:/meta-inf/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_gem.rb:65)
at RUBY.<main>(uri:classloader:/jruby/kernel/gem_prelude.rb:9)
at org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:979)
at RUBY.<main>(file:/private/var/folders/8f/th0z6hjd4m927fzf55w9bcmw0000gn/T/jetty-0.0.0.0-8080-pms_server.war-_-any-4372077404497586368.dir/webapp/WEB-INF/lib/jruby-core-9.1.7.0-complete.jar!/jruby/preludes.rb:1)
2021-02-17 17:01:18.860:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@57fa26b7{/,file:/private/var/folders/8f/th0z6hjd4m927fzf55w9bcmw0000gn/T/jetty-0.0.0.0-8080-pms_server.war-_-any-4372077404497586368.dir/webapp/,AVAILABLE}{file:/Users/davidhardy/brewer_digital/impulsify/pmsgateway/onq_enhanced_windows_server/pms_server.war}
2021-02-17 17:01:18.860:WARN:oejsh.RequestLogHandler:main: !RequestLog
2021-02-17 17:01:18.872:INFO:oejs.ServerConnector:main: Started ServerConnector@6dbc83d8{HTTP/1.1}{0.0.0.0:8080}
2021-02-17 17:01:18.872:INFO:oejs.Server:main: Started @9482ms
任何帮助/想法将不胜感激!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)