# Absoluten Pfad einer Tomcat-Application ermitteln



## Wolfram38350 (31. Aug 2006)

Hallo,

ich möchte Velocity als Parser (mal nicht von Web-Seiten) in einer Tomcat-Application nutzen.

Diese Instanz von Velocity kennt aber den absoluten Pfad des Tomcat-Projects nicht. Das hat zur Folge, dass die vm-Templates nicht gefunden werden.

Wie kann ich den absoluten Pfad des aktuellen Tomcat-Projekts ermitteln? Oder kann ich die Konfiguration der Velocity-Instanz, die Tomcat benutzt, übertragen?

Dank und Gruß
Wolfram


----------



## thE_29 (31. Aug 2006)

Die Systemvariable TOMCAT_HOME auslesen!

Mache das so:


```
/******************************************************************************************************************************
   * Methode liest die Systemvariablen ein
   ******************************************************************************************************************************/
  public static void initSystemParams()
  {
    try{
      String cmd = "";
      if(checkOS().equals("windows")) //Windows
        cmd = "cmd /c set";
      else if(checkOS().equals("linux")) //Linux
        cmd = "env";
      BufferedReader br = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec(cmd).getInputStream()));
      String line = "";
      system_parameters = new Hashtable();
      while ( ( line = br.readLine() ) != null)
      {
        int x = line.indexOf("=");
        if(x != -1)
        {
          String key = line.substring(0,x);
          key = key.toLowerCase(); //keys werden im lowercast Format reingeschrieben
          line = line.substring(x+1);
          System.out.println("PUTTE:" + key + "<>" + line);
          system_parameters.put(key,line);
        }
      }
      br.close();
    }
    catch(Exception ex)
    {
      ex.printStackTrace(System.out);
    }
  }
```


Wobei das in ne Hashtable system_parameters eingelesn wird!


----------



## KSG9|sebastian (1. Sep 2006)

webanwendung?

super.getServletContext().getRealPath("...")


----------



## Wolfram38350 (1. Sep 2006)

Danke für die Antworten.

@the_29: Leider gibt das nur die Systemparameter aus. Ich suche allerdings den absoluten Pfad des Tomcat.

@KSG9|sebastian: Jetzt muss ich mal fragen: wenn ich das in Eclipse so eintippe, wirft er "Cannot use super in a static context" - kann ich das umgehen (ich komme eigentlich aus Smalltalk ;-)

Dank
Wolfram


----------



## thE_29 (1. Sep 2006)

Um Tomcat zum Laufen zu bringen muss es eine Variable TOMCAT_HOME geben!

Diese gibt dir den absoluten Pfad an!


----------



## Anselmus (18. Sep 2006)

also bei mir läuft tomcat auch ohne "TOMCAT_HOME"


----------



## KSG9|sebastian (19. Sep 2006)

@Wolfram38350: Dieser Aufruf ist nur in deinem Servlet möglich


----------

