如何在Tomcat中获取应用程序路径(而不是从Servlet上下文中获取)

时间:2013-12-12 19:40:42

标签: java tomcat netbeans tomcat7

我需要的是非常简单,但此处发布的解决方案不适用于我的具体情况。 似乎可以通过catalina.base来获取/webapps/<application_name>并猜测您的应用程序目录。

正如问题标题中已经指出的那样,我不是在这里的Servlet上下文中,而是在常规课程中。

我认为这在大多数情况下适用于标准的Tomcat安装。但是在IDE中,目录都是分开的(源代码,构建,catalina基础等)它并不真正起作用。例如,在NetBeans中,catalina.base不是应用程序所在的位置。

我想要的是能够猜测应用程序目录,以便猜测它的日志文件subdir。所以在我的本地环境(NetBeans)中我有/ webapps / App / logs以及其他任何地方我也有/ webapps / App / logs。

我似乎找不到的是获取“whateverdir”的可靠方法。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

  1. 定义在启动时加载的servlet。在其init()方法中,使用“catalina.base”方法获取目录。
  2. 获取目录后,将值保存在系统属性中。
  3. 然后在非servlet代码中,只需阅读系统属性。