如何找到Tomcat';s servlet-api.jar?

如何找到Tomcat';s servlet-api.jar?,tomcat,Tomcat,以前版本的Tomcat在环境中设置Tomcat_HOME和CATALINA_HOME 但是Tomcat7没有设置这些。我在注册表中也找不到任何提供根Tomcat目录的内容 我如何通过编程获得这个 我的问题只针对Windows。您可以通过查找此JAR中包含的任何类的位置来获取JAR文件的位置,例如使用以下代码: Class<?> clazz = javax.servlet.Servlet.class; ClassLoader cl = clazz.getClassLoader(); i

以前版本的Tomcat在环境中设置Tomcat_HOME和CATALINA_HOME

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

我如何通过编程获得这个


我的问题只针对Windows。

您可以通过查找此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('!'));
Class clazz=javax.servlet.servlet.Class;
ClassLoader cl=clazz.getClassLoader();
如果(cl==null){
cl=Thread.currentThread().getContextClassLoader();
}
字符串classLocation=cl.getResource(clazz.getName().replace('.','/')+“.class”).toString();
字符串jarLocation=classLocation.substring(0,classLocation.indexOf(“!”);

以前版本的Tomcat也从未自动设置它们。这是服务器管理员自己的责任。也许您使用了增强的第三方安装程序,例如XAMPP或其他。问题是,我试图让安装程序将此添加到我的构建脚本中,但它不在类路径中。如果它在类路径中,那么我们就可以了。