当前位置: 首页 > 知识库问答 >
问题:

Jruby 1.6.8 tomcat部署问题(org.Jruby.rack.rails.RailsServletContextListener)

魏君博
2023-03-14

我正在尝试部署一个JoR应用程序,其中包含一个使用warbler-0.9.14构建到Tomcat7的war文件。但是,当我尝试启动应用程序时,出现以下错误

2016年7月9日下午3:48:13组织。阿帕奇。卡塔琳娜。果心StandardContext listenerStop严重:向类org的侦听器实例发送上下文已销毁事件时发生异常。jruby。支架轨道。RailsServletContextListener java。org上的lang.NullPointerException。jruby。支架SharedRackApplicationFactory。销毁(SharedRackApplicationFactory.java:58)。jruby。支架RackServletContextListener。contextDestroyed(RackServletContextListener.java:50)位于org。阿帕奇。卡塔琳娜。果心标准上下文。listenerStop(StandardContext.java:5146)位于org。阿帕奇。卡塔琳娜。果心标准上下文。位于org的stopInternal(StandardContext.java:5810)。阿帕奇。卡塔琳娜。util。生命周期酶。在org上停止(LifecycleBase.java:224)。阿帕奇。卡塔琳娜。util。生命周期酶。在org上启动(LifecycleBase.java:159)。阿帕奇。卡塔琳娜。经理ManagerServlet。在org上启动(ManagerServlet.java:1312)。阿帕奇。卡塔琳娜。经理HTMLManagerServlet。在org上启动(HTMLManagerServlet.java:690)。阿帕奇。卡塔琳娜。经理HTMLManagerServlet。javax上的doPost(HTMLManagerServlet.java:216)。servlet。http。HttpServlet。javax上的服务(HttpServlet.java:650)。servlet。http。HttpServlet。服务(HttpServlet.java:731)位于org。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。org上的internalDoFilter(ApplicationFilterChain.java:303)。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。doFilter(ApplicationFilterChain.java:208)位于org。阿帕奇。卡塔琳娜。过滤器。CsrfPreventionFilter。doFilter(CsrfPreventionFilter.java:136)位于org。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。org上的internalDoFilter(ApplicationFilterChain.java:241)。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。doFilter(ApplicationFilterChain.java:208)位于org。阿帕奇。公猫websocket。服务器WsFilter。doFilter(WsFilter.java:52)位于org。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。org上的internalDoFilter(ApplicationFilterChain.java:241)。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。doFilter(ApplicationFilterChain.java:208)位于org。阿帕奇。卡塔琳娜。过滤器。SetCharacterEncodingFilter。org上的doFilter(SetCharacterEncodingFilter.java:108)。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。org上的internalDoFilter(ApplicationFilterChain.java:241)。阿帕奇。卡塔琳娜。果心ApplicationFilterChain。doFilter(ApplicationFilterChain.java:208)位于org。阿帕奇。卡塔琳娜。果心标准包装阀。在org上调用(StandardWrapperValve.java:218)。阿帕奇。卡塔琳娜。果心标准连接阀。在org上调用(StandardContextValve.java:122)。阿帕奇。卡塔琳娜。验证者。AuthenticatorBase。在org调用(AuthenticatorBase.java:614)。阿帕奇。卡塔琳娜。果心标准阀门。在组织中调用(StandardHostValve.java:169)。阿帕奇。卡塔琳娜。阀门。错误报告阀。在org调用(ErrorReportValve.java:103)。阿帕奇。卡塔琳娜。阀门。检修阀。在org上调用(AccessLogValve.java:956)。阿帕奇。卡塔琳娜。果心标准引擎版本。在org上调用(StandardEngineValve.java:116)。阿帕奇。卡塔琳娜。连接器。郊狼适应者。服务(CoyoteAdapter.java:442)位于org。阿帕奇。郊狼。http11。抽象http11处理器。进程(AbstractHttp11Processor.java:1082)位于org。阿帕奇。郊狼。AbstractProtocol$AbstractConnectionHandler。进程(AbstractProtocol.java:623)位于org。阿帕奇。公猫util。网JIoEndpoint$SocketProcessor。在java上运行(JIoEndpoint.java:318)。util。同时发生的线程池执行器。java上的runWorker(ThreadPoolExecutor.java:1145)。util。同时发生的线程池执行器$Worker。在org上运行(ThreadPoolExecutor.java:615)。阿帕奇。公猫util。线程。TaskThread$WrappingRunnable。在java上运行(TaskThread.java:61)。朗。丝线。运行(Thread.java:745)

:

我只是对Java了解不够 /jruby知道我错过了什么。任何帮助或参考任何文档将非常感谢。代码库很旧,没有留档。我已经确定它使用jruby-1.6.8和rails 2.3.5。

这是网络。xml

html lang-html prettyprint-override"><!DOCTYPE web-app PUBLIC
  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

  <context-param>
    <param-name>rails.env</param-name>
    <param-value>development</param-value>
  </context-param>

  <context-param>
    <param-name>public.root</param-name>
    <param-value>/</param-value>
  </context-param>

  <context-param>
    <param-name>jruby.min.runtimes</param-name>
    <param-value>2</param-value>
  </context-param>

  <context-param>
    <param-name>jruby.max.runtimes</param-name>
    <param-value>4</param-value>
  </context-param>

  <listener>
    <listener-class>org.jruby.rack.rails.RailsServletContextListener</listener-class>
  </listener>

  <servlet>
    <servlet-name>Rails</servlet-name>
    <servlet-class>org.jruby.rack.RackServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>Rails</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>


  <servlet>
      <servlet-name>ImageServlet</servlet-name>
      <servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class>
  </servlet>

  <servlet-mapping>
      <servlet-name>ImageServlet</servlet-name>
      <url-pattern>/servlets/image</url-pattern>
  </servlet-mapping>

  <security-constraint>
      <web-resource-collection>
          <web-resource-name>Forbidden</web-resource-name>
          <url-pattern>/*</url-pattern>
          <http-method>DELETE</http-method>
          <http-method>TRACE</http-method>
          <http-method>OPTIONS</http-method>
      </web-resource-collection>
      <auth-constraint />
  </security-constraint>

</web-app>

共有1个答案

高豪
2023-03-14

看来问题出在jruby机架上。我使用的warbler版本非常旧,所以我最终升级到了1.4.9,它将jruby rack升级到了jruby-rack-1.1.20。罐子

 类似资料:
  • 我正在Windows 8.1 64位上开发JavaFX8应用程序,带有4GB内存,使用的是运行JDK 8u25 64位版本的Netbeans 8.0.2。 应用平台是JDK版本8u25 32位,问题是当我构建项目时,应用程序运行正常,但当我做本机打包时,我可以为应用程序提供32位JRE和exe文件。 “由于配置问题,已跳过捆绑程序Windows应用程序映像:FX SDK和JRE运行时之间的位体系结

  • 问题内容: 我具有以下规格的ES 1.5.2集群: 3个节点,RAM:32GB,CPU内核:每个8 282个总指数 总分片2,564 799,505,935总文档 总数据767.84GB ES_HEAP_SIZE = 16克 问题是当我使用Kibana来查询某事(非常简单的查询)时,如果它是单个查询,就可以正常工作,但是如果我继续查询更多的东西- 弹性变得非常缓慢,最终由于JVM堆而卡住了(来自M

  • 我已经部署了一个新版本的Lightswitch应用程序。该应用程序在我们的组织中有6个用户。所有6个用户都安装了以前的版本,并且工作正常。4用户已经安装更新并使用它没有任何问题。2用户无法启动新版本。在安装过程中,他们收到以下错误详细信息: 源代码 -部署url:file://f://etl/metadataeditor/metadataeditor.Application -应用程序url:fi

  • 我正在尝试在WL12.2.1服务器中部署ear文件时得到NPE。ear在WebLogic12.1.3中部署时没有任何问题。这是错误日志。几天来一直在努力解决这个问题,但没有任何结果。知道为什么NPE来自WebLogic包吗?

  • 所以,我正在尝试部署一个。Heroku上的jar文件。当我尝试部署它时,会出现以下错误: 我不知道发生了什么,我下载了java插件,我下载了Heroku CLI插件。Idk怎么做,下面是部署命令。 heroku部署:jar C:\Users\My Name\Desktop\Tester Bot2\myfile。jar——应用程序mybotapp

  • 我在部署接口时收到以下错误 组织.xml.sax.SAXParse异常: cvc-complex-type.2.4.a: 发现无效内容以元素 'sfdc:查询-single' 开头。“{”http://www.mulesoft.org/schema/mule/core“:注释、”http://www.mulesoft.org/schema/mule/core“:抽象消息处理器、”http://ww