2011-12-09 13 views

回答

0

也许是这样的:

public boolean isTomcat() { 
    try { 
     Class.forName("org.apache.tomcat.InstanceManager"); 
     return true; 
    } catch (ClassNotFoundException ex) { 
    return false; 
    } 
} 
+0

这看起来很像一个成语。我怀疑有一些简洁的内容可以在jruby和香草红宝石实现中使用。可能有些东西使用相同的“定义?SOME_CONSTANT”模式。 – Araxia

2

在没有现成的明确规定成语,我要提出defined?($servlet_context)。这将在任何 servlet容器中定义,不仅仅是Tomcat,但是无论如何,这可能是优选的。

+0

关于你的答案和随后的标志[here](http://stackoverflow.com/questions/8337804/is-there-a-way-to-debug-a-jruby-on-rails-application-running-on-a -tomcat-server/8483552#8483552),你刚删除它。除了你,版主和10k用户以外,任何人都不会看到它。这是一样好,因为它得到; SO并没有真正删除任何内容,除非它真的有问题。 – NullUserException

0

工作在两个MRI和JRuby

IN_TOMCAT = begin 
    require 'org/apache/tomcat/InstanceManager' 
    defined?(Java::org::apache::tomcat::InstanceManager) 
rescue LoadError;end 
相关问题