2016-06-07 71 views
1

当我在tomcat上运行我的web应用程序时,当然它的类是具有tomcat工作目录的,因为JWM是在那里启动的。但有什么办法可以配置tomcat,因为每个已部署应用程序的所有类都将应用程序目录作为其工作目录?有没有什么办法可以配置tomcat servlet的工作目录?

+0

那么它是什么,它是你想做的事是什么呢? –

+0

@PritamBanerjee我编辑的问题:我需要我的应用程序类具有应用程序文件夹,因为它是工作目录,而不是tomcat启动文件夹。 – TEXHIK

回答

0

您可以更改Tomcat的启动脚本。 tomcat进程会继承当前目录的启动脚本。为了使tomcat在不同的工作目录中启动,你必须找出启动tomcat的是什么,并在运行startup.sh之前更改该进程以更改为所需的目录。

你可以看看here关于如何设置工作目录。

+0

这很好,**但是**它只是改变了** tomcat ** WD,所以我将拥有与tomcat和_all_我的webapps相同的WD,这当然可以通过从不同目录启动tomcat来实现。我正在寻找配置** webapp ** WD的方式,独立于其他应用程序和tomcat(仅取决于webapps root)。 – TEXHIK

1

您不必配置Tomcat工作目录。您可以通过以下方式从您的servlet获取应用程序根目录:

String root = getServletContext().getRealPath("/"); 

请注意,可以从客户端浏览器访问此文件夹。

如果你想有一个工作目录是无法访问的客户端,创建WEB-INF中的文件夹

String privateRoot = getServletContext().getRealPath("/WEB-INF"); 
+0

是的,我可以获得我的应用程序的绝对路径,但我试图配置log4j。所以,我正在寻找一种方式,在这里我可以为日志设置本地路径,并确保在任何容器配置中,日志都将存储在我的应用程序目录中。 – TEXHIK

相关问题