如何找到Tomcat的servlet-api.jar的位置?

时间:2012-10-25 23:33:58

标签: tomcat

以前版本的Tomcat在环境中设置了TOMCAT_HOME和CATALINA_HOME。

但Tomcat 7没有设置这些。我也无法在注册表中找到任何提供根Tomcat目录的内容。

我如何以编程方式获取此内容?

我的问题仅适用于Windows。

1 个答案:

答案 0 :(得分:0)

您可以通过查找此JAR中包含的任何类的位置来获取JAR文件的位置,例如使用以下代码:

Class<?> clazz = javax.servlet.Servlet.class;
ClassLoader cl = clazz.getClassLoader();
if (cl == null) {
    cl = Thread.currentThread().getContextClassLoader();
}
String classLocation = cl.getResource(clazz.getName().replace('.', '/') + ".class").toString();
String jarLocation = classLocation.substring(0, classLocation.indexOf('!'));