以前版本的 Tomcat 在环境中设置了 TOMCAT_HOME 和 CATALINA_HOME。
但是 Tomcat 7 没有设置这些。我在注册表中也找不到任何给出根 Tomcat 目录的东西。
我怎样才能以编程方式得到这个?
我的问题仅适用于 Windows。
以前版本的 Tomcat 在环境中设置了 TOMCAT_HOME 和 CATALINA_HOME。
但是 Tomcat 7 没有设置这些。我在注册表中也找不到任何给出根 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('!'));