在Openshift Tomcat 6上获取WEB-INF的路径 - JBoss EWS 1.0

时间:2014-05-13 09:13:08

标签: java tomcat jboss openshift

我之前使用以下内容在Tomcat-5.0.28及更早版本上获取我的上下文路径:     String context_path = context.getRealPath(" / WEB-INF /"); 这样可以返回该文件夹的路径。 但是在OpenShift(Tomcat 6 - JBoss EWS 1.0)上,这将返回

/var/lib/openshift/53.*context_id_here*..18/jbossews/null

null应为:

work/Catalina/localhost/_/WEB-INF

如何使用JBOSS / Tomcat在OpenShift上获取WEB-INF文件夹的路径?

一些背景信息:当我在自己的Tomcat服务器上运行这个struts webapp时,我在webapps目录中部署了一个appname.war文件并等待它扩展(因为我在server.xml文件中设置了该选项) )。然后我将一个文件夹移动到webapps / appname /文件夹,其中包含我需要读取和写入的xml文件,以便我的应用程序正常工作。在OpenShift上,我使用jar xvf appname.war手动提取war文件(因为这是默认设置,我不知道如何更改它),然后移动文件夹(来自同一目录)作为我的文件夹中的war文件,在git add和push之后)工作/ Catalina / localhost / _ / WEB-INF / 这在尝试使用上面显示的路径时会导致NullPointerException。

1 个答案:

答案 0 :(得分:0)

我认为您应该使用getServletContext或getRealPath之类的东西,并从Web根目录中读取它,而不是尝试在物理磁盘上查找文件。这样你的war文件就可以在没有问题的情况下运行。尝试查找这两个,看看是否适合您的用例。