我有一个 JRuby on Rails 应用程序,我正尝试使用 warbler 创建的 war 文件部署到现有的 Tomcat 7 安装。当我将 war 文件放入 webapps 目录时,它会创建一个包含 war 内容的目录。我能够访问静态 html(公共(public))文件,但是我无法访问任何动态 ruby 生成的 url 并获得 404 响应。
我的猜测是 Tomcat 不知道如何执行或处理 ruby 文件。我需要做些什么来告诉 Tomcat 将它们作为脚本执行吗?
在我的 catalina 日志文件中,我看到以下内容:
INFO: Deploying web application archive C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\myapp.war Mar 22, 2012 10:50:41 PM org.apache.catalina.startup.ContextConfig webConfig SEVERE: Unable to determine URL for WEB-INF/classes javax.naming.NameNotFoundException: Resource /WEB-INF/classes not found at org.apache.naming.resources.BaseDirContext.listBindings(BaseDirContext.java:733) at org.apache.naming.resources.ProxyDirContext.listBindings(ProxyDirContext.java:546) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1197) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:825) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:300) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5161) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:897) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:873) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1599) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Mar 22, 2012 10:50:43 PM org.apache.catalina.startup.TaglibUriRule body INFO: TLD skipped. URI: urn:org.jruby.rack is already defined
最佳答案
可能与您的路径或 JRuby 有关。看这个http://www.digitalsanctum.com/2007/07/24/jruby-deploying-a-rails-application-on-tomcat/网站。
关于ruby-on-rails - 在 Windows 中将 JRuby war 文件部署到 Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9842141/